如何设置无密码SSH 登录

Anonim

设置无密码SSH 登录是加速与经常访问的远程Mac 和unix 机器的连接的好方法。因为并非所有版本的 Mac OS X 都包含 ssh-copy-id 命令,您可能必须使用 cat 或 scp 来复制您的 ssh 密钥。这就是所有设置的方法,只需一分钟左右。

首先,在本地机器上你需要生成一个安全的SSH密钥:

ssh-keygen

遍历密钥生成器并设置密码,密钥文件默认进入~/.ssh/id_rsa

接下来,您需要将生成的密钥复制到您想要设置无密码登录的远程服务器,这可以使用以下命令字符串轻松完成,但如果您可以使用 ssh-copy-id 或 scp你更喜欢:

cat ~/.ssh/id_dsa.pub | ssh user@remotehost 'cat >> ~/.ssh/authorized_keys'

(记得将“user@remotehost”替换为适当的用户名和服务器的远程IP地址或域名)

此命令从本地机器获取生成的SSH 密钥,通过SSH 连接到远程主机,然后使用cat 将密钥文件附加到远程用户授权密钥列表。因为这会通过 SSH 连接到远程机器,所以您需要输入常规的 ssh 登录密码才能使用此命令。

最后,确认您现在可以免密码登录远程SSH服务器:

ssh [email protected]

假设初始设置按预期进行,您无需登录即可连接到远程计算机。您可以通过在 bash_profile 中创建别名来进一步缩短连接步骤,这样您只需键入立即连接到指定远程服务器的简短命令。

在没有密码的情况下使用 ssh 存在一些明显的潜在安全风险,最好的缓解方法是使用锁定屏幕键盘快捷键锁定客户端计算机以进行屏幕保护和睡眠当您离开工作站无人看管时,设置适当的登录密码并启用 FileVault 磁盘加密,无论如何您都应该使用所有这些。您甚至可以更进一步并启用固件密码。

如何设置无密码SSH 登录