如何通过 ssh 别名进行无密码登录

如何通过 ssh 别名进行无密码登录

假设我可以pc通过server.我可以直接pc使用如何使用 ssh 通过另一台电脑连接到另一台电脑

这样我的.ssh/config看起来像:

Host short
Hostname pc
User me
ProxyCommand ssh me@server nc %h %p

pc和上的用户和主文件夹server相同,但server只能从外部直接访问。现在,如果我ssh short,我必须输入相同的密码两次。

我现在正在寻找一种使用隧道登录的方法,甚至不需要输入密码一次。

我已经尝试过该ssh-keygen过程,但这对我没有帮助。我还发现了这个非常相关的问题:设置从 NAT 后面的家庭计算机到网关后面的内部计算机的无密码 SSH 隧道,但我不知道这如何适用于我的情况。

问题基本上归结为:如何通过 ssh 别名设置无密码登录?

答案1

您需要在两台机器上设置密钥身份验证,即反弹机器 ( server) 和目标机器 ( pc)。

ssh-keygen如果您还没有这样做,请在您的客户端计算机上创建密钥对 ( )。然后将公钥复制server并添加到授权列表中。然后对 做同样的事情pc

ssh-copy-id server
ssh-copy-id short

为了避免输入密码两次,请运行密钥代理。许多系统都设置为在您登录时运行:检查是否SSH_AUTH_SOCK设置了环境变量。如果不是,请ssh-agent作为会话启动的一部分运行。在登录会话中开始使用 ssh 之前,请通过运行在代理中记录您的密码ssh-add ~/.ssh/id_rsa

相关内容