linux远程执行命令
如何在远程linux设备上执行命令/脚本?linux远程执行命令,linux,command,Linux,Command,如何在远程linux设备上执行命令/脚本? 假设我想从方框a的方框b开始执行tomcat服务。我认为这篇文章解释得很好: 是你最好的朋友;-) 我想ssh是最好的安全方式,例如: ssh -OPTIONS -p SSH_PORT user@remote_server "remote_command1; remote_command2; remote_script.sh" 这些选项必须根据您的特定需要进行部署(例如,仅绑定到ipv4),并且您的远程命令可能正在启动tomcat守护进程 注意
假设我想从方框a的方框b开始执行tomcat服务。我认为这篇文章解释得很好:
是你最好的朋友;-) 我想
ssh
是最好的安全方式,例如:
ssh -OPTIONS -p SSH_PORT user@remote_server "remote_command1; remote_command2; remote_script.sh"
这些选项必须根据您的特定需要进行部署(例如,仅绑定到ipv4),并且您的远程命令可能正在启动tomcat守护进程
注意:如果您不想在每次ssh运行时都得到提示,请查看ssh代理,如果您的系统允许,还可以选择查看
keychain
。关键是。。。了解ssh密钥交换过程。请仔细查看ssh_config(即ssh客户端配置文件)和sshd_config(即ssh服务器配置文件)。配置文件名取决于您的系统,无论如何,您可以在类似/etc/sshd\u config
的地方找到它们。理想情况下,请不要以root用户身份运行ssh,而是以服务器和客户端的特定用户身份运行ssh
源项目主页上的一些额外文档:
ssh和ssh代理文轩
钥匙链
一首较老的法文图图(我自己写的:-),但也可能有用:
如果您不想处理安全问题,并且希望在短期内尽可能使其公开(也称为“方便”),并且|或者您的所有主机上都没有ssh/telnet或密钥生成,您可以与netcat一起破解一个单行程序。通过网络向目标计算机的端口写入命令,它将运行该命令。然后,您可以阻止少数“受信任”的用户访问该端口,或者将其封装在只允许运行某些命令的脚本中。并使用低权限用户 在服务器上
mkfifo/tmp/netfifo;nc-lk 4201 0/tmp/netfifo
这个一行程序读取您发送到该端口的任何字符串,并将其输送到bash中执行。stderr和stdout被转储回netfifo,并通过nc发送回连接主机
论客户
要远程运行命令,请执行以下操作:
echo“ls”| nc主机4201
@codebox,更改为另一页;-)也把我的谷歌搜索关键词放在下面的链接中。@JerryTian:这是一个有用的链接。这是值得考虑的添加一些关键点的链接,并粘贴它作为一个答案。。。这将有助于任何未来的读者看一看,知道链接是否断开。是否有任何方法可以在同一行中输入密码?这样我的脚本就不会被提示停止。
ssh user@machine "remote command to run"
ssh -OPTIONS -p SSH_PORT user@remote_server "remote_command1; remote_command2; remote_script.sh"