簡體   English   中英

linux遠程執行命令

[英]linux execute command remotely

如何在遠程linux機器上執行命令/腳本? 說我想做一個服務tomcat從框a開始在框b上。

我猜ssh是最好的安全方式,例如:

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

必須根據您的特定需求部署OPTIONS(例如,僅綁定到ipv4),並且您的遠程命令可能正在啟動您的tomcat守護程序。

注意
如果您不希望在每次運行ssh時都提示,請同時查看ssh-agent,如果您的系統允許,還可以選擇使用keychain 關鍵是...了解ssh密鑰交換過程。 請仔細查看ssh_config(即ssh客戶端配置文件)和sshd_config(即ssh服務器配置文件)。 配置文件名取決於您的系統,無論如何您都可以在/etc/sshd_config找到它們。 理想情況下,pls不會以root身份運行ssh,而是作為雙方,服務器和客戶端的特定用戶運行。

源項目主頁上的一些額外文檔:

ssh和ssh-agent
男人ssh

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/

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

或者你可以

 ssh user@machine "remote command to run" 

我認為這篇文章解釋得很好:

在遠程Linux / UNIX主機上運行命令

谷歌是你最好的朋友;-)

如果您不想處理安全性並希望在短期內盡可能地暴露(也稱為“方便”),並且在所有主機上都沒有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 echo "ls" | nc HOST 4201

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM