我知道可以编写一个shell脚本,它将您的硬编码密码传递给ssh连接认证(使用expect)。然而,我需要的是稍微复杂一些。使两个连续ssh连接自动化的脚本
在我的大学我有一台桌面电脑任命给我。我可以通过首先与某个服务器建立ssh连接,然后再从该服务器到我指定的台式计算机建立另一个ssh连接,从而远程连接到这台计算机。这是这样:
localuser @ localcomputer:〜$的ssh - X的用户名@ serveraddress
用户名@ serveradress密码:
服务器$的ssh - X的用户名@ remotecomputeraddress
用户名@ remotecomputeraddress密码:
用户名@ remotecomputer:〜>
有没有办法编写一个脚本,可以自动化上述(即,执行两个连续的ssh连接)?
在此先感谢!
ps:本地和远程计算机都在Linux上运行。
尊敬的twalberg, 我已经尝试过您的方法。我得到了第一个SSH连接。在此之后,我的脚本暂停,只有当我退出第一个SSH连接时才会继续。我能做些什么才能使其正常工作。我已经加入我下面的脚本: --- #在/ usr/bin中/期望 产卵的ssh -t -X remoteuser表@ serveraddress的ssh -t -X remoteuser表@ remotecomputer 期望“remoteuser表@ serveraddress的密码:\ r “ 发送‘MY_PASSWORD’ 互动 期望‘remoteuser表@ remotecomputer的密码:\ R’ 发送‘MY_PASSWORD’ 互动 --- – Aeronaelius
谢谢twalberg,我设法与-t选项的组合和使用,达到我的目标无密码键。 – Aeronaelius
在这里,我想扩大这个问题。有没有机会使用rsync传输文件;比如说让服务器1通过服务器2到服务器3?谢谢。 – Vijay