2011-03-02 186 views

回答

39

我猜SSH是bes吨这种安全的方式,例如:

ssh -OPTIONS -p SSH_PORT [email protected]_server "remote_command1; remote_command2; remote_script.sh" 

其中OPTIONS必须根据自己的特定需要被部署(例如,结合仅IPv4)和远程命令可以启动你的Tomcat守护进程。

注意
如果你不希望在每个SSH运行提示,请也看看到ssh-agent,并optionaly到钥匙串,如果你的系统允许它。关键是...了解ssh密钥交换过程。请仔细看看ssh_config(例如ssh client config)和sshd_config(例如ssh server config)。配置文件名取决于你的系统,无论如何你会发现它们在/ etc/sshd_config之类的地方。理想情况下,请不要显式运行ssh,而是使用两台服务器上的专用用户。

在源项目主要页面的一些额外的文档:(!RFM)

SSH和ssh代理
人SSH
http://www.snailbook.com/index.html
https://help.ubuntu.com/community/SSH/OpenSSH/Configuring
http://sourceforge.net/apps/trac/sourceforge/wiki/SSH%20key%20fingerprints

钥匙扣
http://www.gentoo.org/doc/en/keychain-guide.xml
在法国旧的政党成员(由我自己:-),但可能是太有用:
http://hornetbzz.developpez.com/tutoriels/debian/ssh/keychain/

3

我觉得这篇文章很好地解释了:

Running Commands on a Remote Linux/UNIX Host

Google是你最好的朋友;-)

+1

链接现在分成 – codebox 2012-07-20 10:00:45

+1

@codebox,改变到另一个页面;-)也把我的谷歌搜索关键词在它下面的链接。 – 2012-07-23 06:01:38

+0

@JerryTian:这是有用的链接。值得考虑的是从链接中添加一些关键点并将其粘贴为答案......这将有助于任何未来的读者查看并了解链接是否被破坏。 – NewUser 2016-04-01 18:54:05

0

如果你不想处理安全和希望把它作为曝光(又名“方便”)尽可能在短期内完成,并且|或者在所有主机上都没有ssh/telnet或密钥生成,您可以使用netcat进行单线程操作。通过网络写一个命令到你的目标计算机的端口,它会运行它。然后,您可以将对该端口的访问阻止给几个“可信”用户,或者将其封装在只允许某些命令运行的脚本中。并使用低特权用户。

服务器

mkfifo /tmp/netfifo; nc -lk 4201 0</tmp/netfifo | bash -e &>/tmp/netfifo

这一个衬垫上读取您发送的任何字符串到该端口和管道入bash的执行。 stderr & stdout被转储回netfifo并通过nc发送回连接主机。

客户

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