通过 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 作为追加结束的标识。

标签:无

你的评论