Linux必須記住的25個SSH命令


任何一個系統管理員或站長對SSH都不會陌生,這個偉大的技術免去了我們跑去機房管理服務器,或者在遠程連接服務器時時刻擔心內容被竊取的心驚膽戰。本文將為大家介紹25個最佳的SSH命令,如果您還沒用過,那么有必要將它們記錄一下。 
OpenSSH是SSH連接工具的免費版本。telnet,rlogin和ftp用戶可能還沒意識到他們在互聯網上傳輸的密碼是未加密的,但SSH是加密的,OpenSSH加密所有通信(包括密碼),有效消除了竊聽,連接劫持和其它攻擊。此外,OpenSSH提供了安全隧道功能和多種身份驗證方法,支持SSH協議的所有版本。 

SSH是一個非常偉大的工具,如果你要在互聯網上遠程連接到服務器,那么SSH無疑是最佳的候選。下面是通過網絡投票選出的25個最佳SSH命令,你必須牢記於心。 

(注:有些內容較長的命令,在本文中會顯示為截斷的狀態。如果你需要閱讀完整的命令,可以把整行復制到您的記事本當中閱讀。) 

1、復制SSH密鑰到目標主機,開啟無密碼SSH登錄 

ssh-copy-id user@host如果還沒有密鑰,請使用ssh-keygen命令生成。 

2、從某主機的80端口開啟到本地主機2001端口的隧道 

ssh -N -L2001:localhost:80 somemachine現在你可以直接在瀏覽器中輸入http://localhost:2001訪問這個網站。 

3、將你的麥克風輸出到遠程計算機的揚聲器 

dd if=/dev/dsp | ssh -c arcfour -C username@host dd of=/dev/dsp這樣來自你麥克風端口的聲音將在SSH目標計算機的揚聲器端口輸出,但遺憾的是,聲音質量很差,你會聽到很多嘶嘶聲。 

4、比較遠程和本地文件 

ssh user@host cat /path/to/remotefile | diff /path/to/localfile –在比較本地文件和遠程文件是否有差異時這個命令很管用。 

5、通過SSH掛載目錄/文件系統 

sshfs name@server:/path/to/folder /path/to/mount/point從http://fuse.sourceforge.net/sshfs.html下載sshfs,它允許你跨網絡安全掛載一個目錄。 

6、通過中間主機建立SSH連接 

ssh -t reachable_host ssh unreachable_hostUnreachable_host表示從本地網絡無法直接訪問的主機,但可以從reachable_host所在網絡訪問,這個命令通過到reachable_host的“隱藏”連接,創建起到unreachable_host的連接。 

7、將你的SSH公鑰復制到遠程主機,開啟無密碼登錄 – 簡單的方法 

ssh-copy-id username@hostname8、直接連接到只能通過主機B連接的主機A 

ssh -t hostA ssh hostB當然,你要能訪問主機A才行。 

9、創建到目標主機的持久化連接 

ssh -MNf @在后台創建到目標主機的持久化連接,將這個命令和你~/.ssh/config中的配置結合使用: 

Host host 
ControlPath ~/.ssh/master-%r@%h:%p 
ControlMaster no所有到目標主機的SSH連接都將使用持久化SSH套接字,如果你使用SSH定期同步文件(使用rsync/sftp/cvs/svn),這個命令將非常有用,因為每次打開一個SSH連接時不會創建新的套接字。 

10、通過SSH連接屏幕 

ssh -t remote_host screen –r直接連接到遠程屏幕會話(節省了無用的父bash進程)。 

11、端口檢測(敲門) 

knock 3000 4000 5000 && ssh -p user@host && knock 5000 4000 3000在一個端口上敲一下打開某個服務的端口(如SSH),再敲一下關閉該端口,需要先安裝knockd,下面是一個配置文件示例。 

[options] 
logfile = /var/log/knockd.log 
[openSSH] 
sequence = 3000,4000,5000 
seq_timeout = 5 
command = /sbin/iptables -A INPUT -i eth0 -s %IP% -p tcp –dport 22 -j ACCEPT 
tcpflags = syn 
[closeSSH] 
sequence = 5000,4000,3000 
seq_timeout = 5 
command = /sbin/iptables -D INPUT -i eth0 -s %IP% -p tcp –dport 22 -j ACCEPT 
tcpflags = syn12、刪除文本文件中的一行內容,有用的修復 

ssh-keygen -R 在這種情況下,最好使用專業的工具。 

13、通過SSH運行復雜的遠程shell命令 

ssh host -l user $(

ssh host -l user “`cat cmd.txt`”


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM