2011-03-02 183 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