一、设置SSH免密登录服务器
1.测试远程登录服务器
$ssh -l seng x.x.x.x #seng是要登录服务器的用户名,后面的是服务器ip地址,在此要输入密码
$exit #退出登录
2.生成公钥和私钥
$ssh-keygen -t rsa -P 123456 #中间生成的时候之间按Enter键 123456是设置的密码
$cd .ssh/ #ssh是隐藏的文件夹
$ll #此时可以看到生成的公钥和私钥
3.复制公钥到服务器
$scp /home/chris/.ssh/id_rsa.pub seng@x.x.x.x:/home/seng/.ssh/authorized_keys
4.本地记住密码
$vi ~./bashrc
#eval `ssh-agent` 重新打开窗口要重新输入密码
#ssh-add
/usr/bin/keychain $HOME/.ssh/id_dsa #安装keychain命令:sudo apt install keychain
source $HOME/.keychain/$HOSTNAME-sh
$source ~./bashrc
此时再登录到服务器则可以无需输入密码
ps:如果不成功试试用chmod命令修改服务器上authorized_keys文件权限
参考资料:https://jingyan.baidu.com/article/148a1921ce2af54d70c3b16e.html
二.运行服务器脚本
1.运行简单命令,如:
$ssh seng@x.x.x.x "cd /home/seng; ls"
$ssh seng@x.x.x.x "sh /cnn/logistics/zl.sh"
2.运行服务器上的zl.sh脚本
本机中shell脚本text.sh内容:
#!/bin/bash
ssh seng@x.x.x.x << remotessh
cd /cnn/logistics/
. ./zl.sh
exit
remotessh
保存后运行text.sh脚本
参考资料:https://blog.csdn.net/sn3009/article/details/52779642