【问题标题】:Multiple SSH keys from Windows client to multiple servers [closed]从 Windows 客户端到多个服务器的多个 SSH 密钥[关闭]
【发布时间】:2021-12-26 12:44:29
【问题描述】:

这里的很多人似乎都有同样的问题,但在 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

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

【问题讨论】:

标签: windows ubuntu ssh ssh-keys openssh


【解决方案1】:

来自.ssh/config file for windows (git)的解决方案

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

然后为每个密钥/服务器添加以下信息

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]

【讨论】:

    【解决方案2】:

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

    亲切的问候

    .ssh/config file for windows (git)

    【讨论】:

    • 嗨!感谢您的快速回复!我已经完成了答案所说的,但我不确定下一步该怎么做!
    • 好吧,你必须在文件中命名身份,以便能够通过命名的配置块元素进行连接,只需查看下面的答案,它比我的更准确:)
    • 哦,我明白了!非常感谢!