用Shell脚本如何实现从A机器ssh到B机器后,在B机器上来执行命令

wangyu13476969128 2016-04-01 05:14:20
我有两台Linux机器,两台的IP分别为10.205.4.61,10.205.4.62
这两台机器已经建立了ssh信任
目前我想在10.205.4.61上面创建一个shell脚本,执行脚本后能够使得ssh到62上后,在62上执行touch 1.txt和touch 2.txt的操作:

Login.sh的脚本如下
#!/bin/bash
ssh 10.205.4.62
cd /tmp
touch 1.txt
touch 2.txt

但是我在61上面执行shell脚本后,下面的三条命令:
cd /tmp
touch 1.txt
touch 2.txt
并没有在62上面执行,而是在61上面执行的,我现在让这三条命令在62上执行,shell脚本应该如何来修改?
...全文
1220 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
dreamli199 2016-04-09
  • 打赏
  • 举报
回复
受教了,
Csdn_Yumi 2016-04-02
  • 打赏
  • 举报
回复
楼主,麻烦请结下贴,谢谢,这样我才能收到积分^_^
wangyu13476969128 2016-04-02
  • 打赏
  • 举报
回复
非常感谢Csdn_Yumi , sshpass这个命令非常有用
wangyu13476969128 2016-04-01
  • 打赏
  • 举报
回复
请问一下Csdn_Yumi , 如果有20台主机,把这20个主机的IP放在一个文档里,例如我在Linux下建立一个1.txt文档。 1.txt文档的内容为: 10.205.4.61 10.205.4.62 10.205.4.63 10.205.4.64 10.205.4.65 10.205.4.66 10.205.4.67 10.205.4.68 10.205.4.69 如果想批量把这些机器都执行这些命令,那是不是应该这样写: #!/bin/bash for i in $(cat 1.txt) do ssh -p password ssh user@${i}
Csdn_Yumi 2016-04-01
  • 打赏
  • 举报
回复
要想实现楼主上述功能,需要使用第三方软件,具体使用如下,之后再添加后面的命令就可以了,望采纳,谢谢~ 安装过程 wget http://sourceforge.net/projects/sshpass/files/sshpass/1.05/sshpass-1.05.tar.gz tar xvzf sshpass-1.05.tar.gz cd sshpass-1.05 ./configure --prefix=/usr/local/Cellar/sshpass/1.05 使用命令: ssh -p password ssh user@hostname

19,611

社区成员

发帖
与我相关
我的任务
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
  • 系统维护与使用区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧