当前位置: 首页 > 工具软件 > sshpass > 使用案例 >

sshpass命令

穆博简
2023-12-01

大纲

一、初心

二、sshpass的常用命令(sshpass不可以直接接带特殊字符意义的密码,需要转义或者用小括号,或者指定文件的方式来连接都可以规避这个问题。

三、成果展示


一、初心

为了将拉取最新源码、混淆编译、将编译好的文件拷贝到远程主机并执行,这一系列操作能够自动化完成,解放劳动力,提升工作效率的,我进行了自动化脚本的编写和验证操作。原本以为这是一个再简单的事情,实际着手时,也遇到不少麻烦。特此做些记录。(这里略去不必要的安装,重点谈谈核心sshpass)

二、sshpass的常用命令
1、直接远程连接某台主机
命令:sshpass -p {远程主机登录密码} ssh root@{远程主机IP}
           sshpass -p {远程主机登录密码} ssh root@{远程主机IP} 'w'  -o StrictHostChecking=no     免输入
注:若是第一次连接直接用sshpass -p 123456 ssh root@192.168.161.100会连接不上

2、本地执行远程机器的命令:

命令: sshpass -p {远程主机登录密码} ssh root@{远程主机IP}  "ethtool eth0"

3、远程连接指定ssh的端口:
命令:sshpass -p {远程主机登录密码} ssh -p {远程主机登录端口} root@{远程主机IP}

注: 当远程主机不是默认的22端口时候
4、从密码文件读取文件内容作为密码去远程连接主机
命令:sshpass -f xxx.txt  ssh root@{远程主机IP}

5、从远程主机上拉取文件到本地
命令: sshpass -p {远程主机登录密码} scp root@{远程主机IP}:{拉取文件目录}

6、执行远程主机脚本
命令: sshpass -p {远程主机登录密码} ssh -o StrictHostChecking=no root@{远程主机IP} {./xx.sh}

7、从本地主机拷贝文件到远程主机
命令: sshpass -p {远程主机登录密码} 本地文件目录 root@{远程主机IP}:{远程文件目录}

三、成果展示

svn:checkout svn:xxxxx

混淆编译

sshpass -p xxx ssh -o StrictHostChecking=no root@xxx ./stop.sh

sshpass -p xxx scp /root/xxx/xx.txt root@xxx:/root/xx

sshpass -p xxx ssh -o StrictHostChecking=no root@xxx ./run.sh


参考链接:https://blog.csdn.net/weixin_59663288/article/details/125637009

 类似资料: