我正在设置一个快捷方式,以便能够通过 SSH 进入我的 Web 开发服务器。我的配置文件如下所示(实际的端口和路径与密钥不同):
以下是我运行“ssh server”时发生的情况
我使用 puttygen 创建私钥时没有使用密码,所以我直接按了 OK。然后我收到此错误:
这里的问题是,我正在使用 .ppk 文件,而我应该使用其他文件吗?
答案1
要在 Mac OS X 上使用 Putty 生成的 ppk 密钥,你需要先转换它们:
启动 puttygen.exe (...) 后,打开 .ppk 文件,输入密码并转到菜单中的“转换”。然后将文件保存为 OpenSSH 文件。
最后,将 .ssh 文件放到 Mac 上后,您需要限制 .ssh 文件的权限(“获取信息”,然后在“所有权和权限”->“详细信息”下为“组”和“其他”设置“无访问权限”)。
答案2
首先,请注意你有一个错误
Warning: the RSA host key for '[server]:10400' differs from the key for the IP address...
这意味着服务器的公钥与其 IP 地址不匹配。要解决此问题,请编辑 ~/.ssh/known_hosts 文件并删除以下条目:192.168.1.40
你可以用一个命令完成此操作
ssh-keygen -R 192.168.1.40
其次,有一种更好的方法来连接服务器,即使用 RSA 密钥而不是 .ppk 密钥。
据filext.com报道
PPK 文件类型主要与“PuTTY”相关。PuTTY 是一个终端仿真器应用程序,可以充当 SSH、Telnet、rlogin 和原始 TCP 计算协议的客户端。
你没有指定,但我假设你希望登录Linux的可以同时从 Windows 和 Mac 计算机访问 Web 服务器吗?
设置密钥的更好方法是获取 ssh 服务器的公钥,并将其放入 Mac 的 known_hosts 文件中。
然后,您可以通过获取 Mac 的公钥并将其附加到 Linux 网络服务器上的授权 hosts 文件来设置无密码 ssh。
以下是如何使用一个命令将 Mac 的公钥复制到 Linux 服务器上的授权主机
cat ~/.ssh/id_rsa.pub | ssh user@machine "mkdir ~/.ssh; cat >> ~/.ssh/authorized_keys"
资源