我在运行最新操作系统的 MacBook Pro 上,并使用命令连接到终端中的服务器,ssh
以连接到我所在大学的其中一台服务器。我们使用用户名连接,然后必须输入密码才能访问服务器,我被告知有一种方法可以配置我的设置,这样我就不必每次想要连接服务器时都输入密码。
这是我的计算机上的设置还是我必须通过终端进行配置?
答案1
首先,您需要在本地机器上生成一个安全的 SSH 密钥:
ssh-keygen
浏览密钥生成器并设置密码,密钥文件默认进入~/.ssh/id_rsa
接下来,您需要将生成的密钥复制到您想要设置无密码登录的远程服务器,这可以通过以下命令轻松完成:
cat ~/.ssh/id_dsa.pub | ssh user@remotehost 'cat >> ~/.ssh authorized_keys'
此命令从本地计算机获取生成的 SSH 密钥,通过 SSH 连接到远程主机,然后使用 cat 将密钥文件附加到远程用户授权密钥列表中。由于这会使用 SSH 连接到远程计算机,因此您需要输入密码才能使用此命令。
最后,确认您现在可以无需密码登录远程 SSH 服务器:
假设初始设置按预期进行,您将连接到远程机器而无需登录。
答案2
抱歉,我无法发表评论。您可以在此处查看一些解决方案:askubuntu.com/questions/46930/how-can-i-set-up-password-less-ssh-login
不过,我确实找到了另一个解决方案:
在终端(在您的设备上)中,执行ssh-keygen
,然后继续按回车键(不要输入任何密码),直到再次出现终端提示符,然后输入
ssh-copy-id -i ~/.ssh/id_rsa.pub username@ip_address
然后尝试使用
ssh username@ip_address