全天候问候,
我有以下查询,并希望对此有任何帮助。谢谢。
我的本地服务器(服务器-A)连接到一个远程服务器(服务器-B).Server-B连接到其他10个远程服务器(Server-C ... Server-L)。 Server-A没有直接连接到(Server-C ... Server-L),它只通过Server-B连接。
我设法在以下之间进行SSH密钥配对:
Server-A <----> Server-B
Server-B <----> Server-C....Server-L
现在我可以使用以下命令从Server-A登录Server-C:
来自Server-A:
ssh user-B@(IP-Server-B) -t ssh user-c@(IP-Server-C)
ssh -t user-B@(IP-Server-B) -t scp -oStrictHostKeyChecking=no test.file user-c@(IP-Server-C):/home/user-C
while read line
do
scp -oStrictHostKeyChecking=no test.file user-B@(IP-Server-B):/home/user-B
ssh -t user-B@(IP-Server-B) -t scp -oStrictHostKeyChecking=no test.file mtc@$line:/home/mtc
ssh -t user-B@(IP-Server-B) -t ssh -t -tqn user-c@$line sh /home/user-c/test.file
ssh -t user-B@(IP-Server-B) -t scp user-c@$line:/home/user-c/junk.txt /home/user-B
ssh -t user-B@(IP-Server-B) -t ssh user-c@$line rm -rf /home/user-c/junk.txt
scp user-B@(IP-Server-B):/home/user-B/junk.txt .
mv junk.txt junk.txt_$line
done < LabIpList
以下是Server-c ... Server-L。
服务器的IP地址列表cat LabIpList
1.2.3.4
2.3.4.5
3.4.5.6
4.5.6.7
5.6.7.8
6.7.8.9
7.8.9.10
....
.....
如果我在命令行上执行上述命令,那么它们可以完美地工作,但是如果我将它们放在脚本上则会失败。由于两个原因:
答案 0 :(得分:0)
我相信您已经使用ssh-keygen创建了无密码登录。请在脚本中使用以下ssh选项
ssh -t -t -tq <IP>