我需要经常登录到许多计算机,但我只能从代理计算机或使用 SSH 隧道(通过该代理计算机建立隧道)登录到它们。问题是我无法authorized_keys
在代理计算机上使用,因此每次设置隧道时都需要输入密码。
我怎样才能自动化它?我正在考虑结合expect
某种方式来自动输入密码,而不必公开存储它。
我在提到的所有机器上都使用 Linux。
答案1
使用代理转发怎么样?
您可以在 /etc/ssh/ssh_config (或 ~/.ssh/config)中启用它:
Host *
ForwardAgent yes
或者每次连接到代理时添加“-A”:ssh -A user@remote_host
通过启用此功能,您允许代理将密钥转发到目标计算机,以便您可以自由连接到其他计算机。