两台centos7:从A机器sh远程另一台主机B执行命令并返回命令的结果集
Linux Server1:10.2.1111.147
Linux Server2:10.2.111.157
终端:SSH Secure Shell Client
root用户登录Linux Server1 和 Linux Server2上: 都使用root用户登录,执行如下7个步骤:
1. 两台服务器上都输入,记住了147 和 157上都用root用户执行如下命令:
#ssh-****** -t dsa
执行三次回车(什么都不输入,直接就回车三次)
2. cd /root/.ssh 进入这个目录 然后执行ll
会发现两个文件: id_rsa 和 id_rsa.pub
3. mkdir authorized_keys (我的操作系统上没这个文件夹,所以自己创建一个。)
4. 把147上生成的 id_rsa.pub 用工具(我用的xfp这个工具,属于xshell系列)复制一份到 157上的authorized_keys 里面去;
把157上生成的 id_rsa.pub 用工具复制一份到 147上的authorized_keys 里面去; 这个过程叫做互信;
5.然后分别在 147 157 上,执行chmod 777 authorized_keys 给这个文件夹执行权限;
chmod 777 id_rsa.pub 然后给里面的文件附上执行权限;
6. 在147 上 /tmp/ 下创建 test.sh 脚本随意写点东西。 vi test.sh 这个不用写了吧。
7. 重点来了:在157上执行: ssh [email protected] /tmp/test.sh > result.txt 从157上ssh到147上执行 /tmp/test.sh 脚本,将结果输出到 157的当前目录 下result.txt 文件里。
执行完命令后,ls发现result.txt 这个文件,然后more一下 发现内容就是147上脚本的内容。 yeah,搞定。