无需输入密码即可从 Windows SSH 到 Linux

18 windows linux ssh scp

我正在尝试使用 ssh/scp 从 Windows 到 Linux,而无需输入密码。

这是我所做的,它似乎不起作用:

  • 使用 Putty Key Generator 生成公钥和私钥(在 Windows 上)
  • 将文件另存为id_rsa.pubid_rsa
  • 将它们复制到 ~/.ssh
  • 将 id_rsa.pub 添加到 Linux 框中 ~/.ssh/authorized_keys
  • 然后我尝试ssh从 Windows 进入 Linux 机器,但我仍然需要输入密码

我错过了什么吗?

小智 10

你需要Pageant

请参阅视频使用 PuTTY 和 Pageant 进行无密码登录。和/或博客文章Howto: Passwordless SSH authentication with PuTTY

  • 请尝试链接到基于文本的教程而不是视频。 (2认同)
  • 博客链接被破坏是答案应该不仅仅是链接的确切原因。 (2认同)

Sil*_*ini 10

您必须在 Windows 上运行身份验证代理。

例如,PageantPuTTY(图形 SSH 客户端)或 Plink(其命令行等效项)结合使用。

您需要将您的 SSH 服务器的公钥告诉 Pageant。之后,它将在后台运行时处理服务器的身份验证请求。

  • 注意:(这对我来说并不明显。)当打开 Pageant 时,它会在右下角的通知区域中作为一个图标打开。右键单击它,然后单击**添加密钥**,然后选择从 puttygen 生成的 .ppk 文件。 (3认同)

小智 8

我用过这个:

c:\> type c:\users\my_name\.ssh\id_rsa.pub | ssh root@172.110.1.171 "cat >> ~/.ssh/authorized_keys"

  • 但在此之前你必须运行 `ssh-keygen` 命令 (2认同)

小智 6

试试 Plink(PuTTY 的一部分)

 plink -v youruser@yourhost.com -pw yourpw "some linux command"
Run Code Online (Sandbox Code Playgroud)

  • +1 以获得正确的响应,但您最好使用公钥/私钥对而不是密码。 (3认同)