在Linux系统中,我们经常想在A机器上,执行B机器上的SHELL命令。
下面这种方案,是一种流行可靠的方案。
1.SSH无密码登录
# 本地服务器执行(A机器):生成密钥对
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
# 远程服务器执行(B机器):用公钥给远程机器授权,首先需要将本地公钥拷贝到远程服务器上,远程机器授权全后,可以删除公钥
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
操作完以后,A机器就可以无密码SSH到B机器上了。
2.执行具体命令
ssh root@192.168.56.2 "/root/nginx/nginx-1.2.3/sbin/nginx -s reload"