Windows-to-linux:带有 SSH 和私钥/公钥对的 Putty

Joh*_*man 8 linux windows ssh putty

我花了大约 3 个小时试图弄清楚如何使用 putty 从我的 Windows 机器连接到 linux box,而无需发送密码。

这是连接到使用 OpenSSH 的 Ubuntu 服务器。私钥是 SSH-2 RSA,1024 位。我正在使用 SSH2 连接。

我已经遇到了更常见的问题:

  1. Putty 以“错误的格式”生成了公钥。我已经更正了这一点(如本博客文章所示)。但是,由于我尚未连接,因此我无法绝对确认此文件的格式是否正确。关键现在都在一行上,我尝试在文件末尾添加/删除换行符。我还尝试了几次公共文件修改过程,以确保我没有搞砸手动转换。即便如此,我也无法在这里验证准确性。
  2. 权限也立即出现错误,特别是意味着该文件具有太多权限。我也必须解决这个问题,我知道它已经过去了,因为我不再在/var/log/auth.log 中看到相关错误。
  3. 我已经尝试了authorized_keysauthorized_keys2,以防服务器有旧版本的OpenSSH,但这没有任何改变。
  4. 我确实可以作为用户访问。这个密钥文件失败后,我可以输入我的密码

我唯一剩下的一点信息是它声称我的所谓密码错误:

sshd[22288]: Failed password for zzzzzzz from zz.zz.zz.zz port 53620 ssh2
Run Code Online (Sandbox Code Playgroud)

即便如此,据我所知,这只是某个地方的懒惰尝试/捕获,因为我认为根本不涉及密码

我在任何使用的 /var/log 文件中都看不到其他内容。还有什么问题?

Zor*_*che 11

  • 使用 PuttyGen 生成您的密钥。
  • 右键单击“用于粘贴的公钥...”文本框并选择 select all
  • 再次右键单击并选择copy
  • 连接到您的主机并编辑.ssh/authorized_keys并粘贴您的密钥,从您尝试关注该视频时删除任何其他预先存在的内容。
  • 验证您的~/.ssh文件夹是否0700chmod 0700 ~/.ssh/
  • 您的authorized_keys 文件应该是0600这样chmod 0600 ~/.ssh/authorized_keys

在此处输入图片说明