好吧,我经常使用 ssh,主要是从我的 Mac 到我的 Linux 机器,但有时也从 Linux 机器到 Mac 或从 Mac 到 Mac。我想实现一种安全的无密码方式在这些计算机之间进行 ssh,这样我就不必每天输入 50 次 ssh 密码。我知道可以通过创建一组没有密码的 SSH 密钥来实现,但我知道这不是一种安全可靠的方法。
答案1
有多种方法可以使用 ssh,而无需每次连接时都主动输入密码。查看答案范围关于此 serverfault 答案。
如果您通过 ssh 连接到远程服务器,并且服务器接受您的连接但提示您输入密码,则您可能遭受了中间人攻击 (MIMA)。如果您使用 ssh 密钥预先输入了针对单独 ssh 密钥的密码,则不会向 MIMA 攻击者提供您的密码。ssh-agent 工具提供了一种方便的方法,可以保存您的私有 ssh 密钥和相关密码,以供您建立的任何连接使用,只要密钥和密码有效。
一般认为,使用 ssh 密钥比以交互方式提供密码更安全。
ssh 密钥和密码可能不如键盘交互 ssh 密码输入安全的一种情况是,如果您让其他人可以访问您的计算机。在这种情况下,有人可能能够使用您预先认证的详细信息访问远程计算机。
如果您打算使用 ssh-agent,您可能希望确保在离开机器时已锁定机器,或者ssh-agent -k
不时地终止 ssh-agent 进程。
答案2
ssh-agent
ssh-add
You type just once the password then the agent takes care of it.