相关疑难解决方法(0)

如何配置 SSH 使其不会自动尝试所有身份文件?

我一直将我的 ssh 身份文件放在我的~/.ssh/文件夹中。我那里可能有大约 30 个文件。

当我连接到服务器时,我将指定要使用的身份文件,例如

ssh -i ~/.ssh/client1-identity client1@10.1.1.10

但是,如果我不指定身份文件,而只需使用以下内容:

ssh user123@example.com

我收到错误

user123 的身份验证失败太多

我的理解是因为如果没有指定身份文件,并且ssh可以找到身份文件,那么它会尝试所有这些。

我也明白我可以编辑~/.ssh/config文件并指定如下内容:

主机example.com
PreferredAuthentications 键盘交互,密码

以防止该连接尝试已知身份文件。

所以,我想我可以将我的身份文件移到目录之外~/.ssh/,或者我可以在配置文件中指定我想要禁用身份文件身份验证的每个主机,但是有什么方法可以告诉 SSH 默认不搜索身份文件?或者指定它将搜索的那些?

linux ssh unix authentication

153
推荐指数
7
解决办法
13万
查看次数

使用来自 ssh-agent 的指定密钥

沿着如何告诉 git 使用哪个私钥? 我想在特定情况下使用特定的 ssh 密钥。

我的问题是,即使我指定了“-i something”,ssh 也会按照添加顺序使用来自我的 ssh-agent 的密钥。

我的具体情况:

  • 我有两个 github 用户,每个用户都有我想要的自己的密钥 - 例如通过 ssh-config - 为每个克隆指定要使用的密钥:
   Host USER1.git
     Hostname github.com
     User git
     IdentityFile ~/.ssh/USER1.id_rsa
Run Code Online (Sandbox Code Playgroud)

ssh -vt USER1.gitUSER2.id_rsa如果这是首先添加到 ssh-agent 的密钥,则仍将使用。

ssh github ssh-agent

15
推荐指数
3
解决办法
1万
查看次数

如何使用 KeePassXC 作为 SSH 代理?

KeePassXC 的选项中有一个SSH 代理选项卡。如何使用它来管理多台 Windows 和 Linux 计算机上的 SSH 密钥?

windows linux ssh ssh-keys keepassxc

13
推荐指数
1
解决办法
1万
查看次数

告诉 git 对于没有主文件夹的用户使用哪个私钥

我正在阅读问题Tell git which private key to use,答案不适用于用户没有任何主目录的情况。

我们现在正在设置 Jenkins 服务器,运行 Jenkins 的用户没有任何主文件夹。但该特定用户必须访问 GIT 存储库。

运行 GIT 的用户如何使用密钥认证?

ssh git ssh-keys

9
推荐指数
1
解决办法
5101
查看次数

如何将某些设置应用于不包括其他主机的 ssh 主机?

我的~/.ssh/config. 这是顶部的内容:

Host *
   ControlMaster auto
   ControlPath /tmp/ssh_mux_%h_%p_%r
   ControlPersist 24h
   BatchMode yes
   Ciphers blowfish-cbc
   Compression yes
   VisualHostKey yes
Run Code Online (Sandbox Code Playgroud)

我想让它等ControlMaster不适用于 github;他们显然主动断开了这些持久连接,我理解并尊重它们。

所以要明确:

 $ rm /tmp/ssh_mux_*
 $ ssh git@github.com
   PTY allocation request failed
   Hi frioux! You've successfully authenticated, but GitHub does not provide shell access.
   Shared connection to github.com closed.

 $ ls /tmp/ssh_mux_*
   /tmp/ssh_mux_github.com_22_git
Run Code Online (Sandbox Code Playgroud)

所以我阅读了一些文档,我在 IRC 中询问,这就是我最终得到的结果:

Host !github.com
   ControlMaster auto
   ControlPath /tmp/ssh_mux_%h_%p_%r
   ControlPersist 24h

Host *
   BatchMode yes
   Ciphers blowfish-cbc
   Compression yes
   VisualHostKey yes
Run Code Online (Sandbox Code Playgroud)

所以现在github正确地不使用ControlMaster:

 $ rm …
Run Code Online (Sandbox Code Playgroud)

ssh

4
推荐指数
1
解决办法
1931
查看次数

标签 统计

ssh ×5

linux ×2

ssh-keys ×2

authentication ×1

git ×1

github ×1

keepassxc ×1

ssh-agent ×1

unix ×1

windows ×1