Linux远程执行命令

ctzwtxfj  于 5个月前  发布在  Linux
关注(0)|答案(3)|浏览(73)

如何在远程Linux机器上执行命令/脚本?比如,我想从机器a在机器b上执行service tomcat start

0md85ypi

0md85ypi1#

我想ssh是最好的安全方法,例如:

ssh -OPTIONS -p SSH_PORT user@remote_server "remote_command1; remote_command2; remote_script.sh"

字符串
其中OPTIONS必须根据您的特定需求进行部署(例如,仅绑定到ipv4),并且您的远程命令可以启动tomcat守护程序。

备注

如果你不想在每次运行ssh时都得到提示,请查看ssh-agent,如果你的系统允许的话,还可以选择keychain。关键是.(即ssh客户端配置文件)和sshd_config(即ssh服务器配置文件)。配置文件名取决于您的系统,无论如何,您都会在/etc/sshd_config之类的地方找到它们。理想情况下,请不要以root身份运行ssh,而是在服务器和客户端都以特定用户的身份运行。
一些额外的文档在源项目主页上:

ssh和ssh-agent

曼什
http://www.snailbook.com/index.html
https://help.ubuntu.com/community/SSH/OpenSSH/Configuring

钥匙扣

http://www.gentoo.org/doc/en/keychain-guide.xml
一个老的tuto在法国(由我自己:-),但可能是有用的太:
http://hornetbzz.developpez.com/tutoriels/debian/ssh/keychain/

zynd9foi

zynd9foi2#

ssh user@machine 'bash -s' < local_script.sh

字符串
或者你可以

ssh user@machine "remote command to run"

l3zydbqr

l3zydbqr3#

如果你不想处理安全问题,而想在短期内尽可能地暴露它(又名“方便”),|或者你的主机上没有ssh/telnet或密钥生成,你可以用netcat来破解一行程序。通过网络向你的目标计算机的端口写一个命令,它会运行它。然后你可以阻止一些“可信”的用户访问该端口,或者把它 Package 在一个只允许某些命令运行的脚本中。并使用一个低特权用户。

在服务器上

第一个月
这一行读取你发送到那个端口的任何字符串,并将其传递到bash中执行。stderr和stdout被转储回netfifo,并通过nc发送回连接主机。

在客户端

远程运行命令:echo "ls" | nc HOST 4201

相关问题