日期:2014-05-16  浏览次数:20673 次

linux远程执行shell命令
在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 用户名@服务器IP "要执行的shell命令"
例如,重启远程机器上的nginx
ssh root@192.168.56.2 "/root/nginx/nginx-1.2.3/sbin/nginx -s reload"