我有两个客户机,$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 次 |
最近记录: |