bash 脚本中使用 ssh 登录并执行命令
通过 ssh 可以远程登录服务器并执行相关操作,常用指令如下:
ssh user@address -p 22
执行命令后会提示输入用户密码才能最终进入。
如果在脚本中我们需要通过 ssh 登录用户并执行相关命令的话就有些麻烦了。
可以通过安装 sshpass 的方式在脚本中定义 ssh 密码,从而解决需求。
安装 sshpass:
apt install sshpass
使用:
sshpass -p password ssh user@address -p 22
通过以上命令就可以直接在一行中定义 ssh 密码从而自动登录了。
在脚本中如果需要执行相关命令可以将命令写在 ''
中:
sshpass -p password ssh user@address 'cd /tmp; ls; touch test.txt'
如果要执行的命令较长可以分开写,用 EOF
追加输入,就不用写引号了:
sshpass -p password ssh user@address << EOF
cd /tmp
ls
touch test.txt
EOF
注意结尾也要换行写 EOF
作为追加结束的标识。
标签:无