从 Windows 客户端到多个服务器的多个 SSH 密钥

Multiple SSH keys from Windows client to multiple servers

这里的很多人似乎都有同样的问题,但 Github。 我不认为这是我的问题。

我对此很陌生,所以如果这是一个重复的问题或者这是一个愚蠢的问题,我深表歉意。

我管理多台 ubuntu 服务器,并从我的 Windows 计算机访问它们。 我目前正在尝试为我拥有的所有服务器设置 ssh 密钥,但似乎我无法更改 RSA 密钥或目录的名称。如果我这样做,终端会要求我输入密码。

这是我所做的:

在我的服务器中:

mkdir ~/.ssh && chmod 700 ~/.ssh

在我的 windows 机器上:

ssh-keygen -b 4096

提示我:

输入保存密钥的文件(C:\Users\Me/.ssh/id_rsa):

我输入的是:

C:\Users\Me\.ssh\server1\server1_rsa

scp C:\Users\me\.ssh\server1_rsa.pub server@serverip:~/.ssh/authorized_keys

(我想要不同的目录或其他东西来分隔 SSH 密钥)

也许是这样的?

/.ssh
  /server1
    server1 pub
    -erver1 priv
  /server2
    server2 pub
    server1 priv

甚至可能

/.ssh
  server1 pub
  server1 priv
  server2 pub
  server2 priv

但这不起作用。 有什么建议吗?

如果这个答案没有让您满意,我很抱歉,但我认为它会解决您的问题:)。在 Whosebug 上有一个 post,您必须在其中将密钥添加到您的 ssh-agent。

亲切的问候

.ssh/config file for windows (git)

来自.ssh/config file for windows (git)

的解决方案

在 C:\Users\Me.ssh 中创建名为“config”的文件 (没有文件扩展名)

然后根据 key/server

添加以下信息
Host server1ip
User user
Port port
IdentitiesOnly=yes
PreferredAuthentications publickey
PasswordAuthentication no
# CMD
IdentityFile C:\Users\[User]\.ssh\[name_of_PRIVATE_key_file]
# BASH
IdentityFile /c/Users/[User]/.ssh/[name_of_PRIVATE_key_file]