我有两个客户机,$gateway以及$server,第二个是从第一个唯一的访问。公钥认证在两个系统上都不可用。所以,要$command在服务器上执行一些我需要运行ssh $gateway ssh $server $command然后输入两个密码。我可以使用sshpass,但它只会处理第一个连接,我仍然需要手动输入第二个密码。
如何对服务器进行完全非交互式(无需手动输入密码)的 ssh 访问?
我看到的唯一方法是使用隧道,但由于互联网连接不稳定,它们很难保持活力。
尝试:
ssh -oProxyCommand="ssh -W %h:%p $gateway" $server command
Run Code Online (Sandbox Code Playgroud)
例如:
ssh -oProxyCommand="ssh -W %h:%p albert@gateway.uibk.ac.at" root@hidden.uibk.ac.at command
Run Code Online (Sandbox Code Playgroud)
这将使用代理 ssh 连接到$server另一个ssh命令,而无需实际创建隧道。这确保两个 ssh 客户端都在本地运行,从而使用 sshpass。
| 归档时间: |
|
| 查看次数: |
5095 次 |
| 最近记录: |