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掛載目錄/檔案系統
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、埠檢測(敲門)
knock3000 4000 5000 && ssh -puser@host && knock5000 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/authorized_keys」如果你使用mac os x或其它沒有ssh-copy-id命令的*nix變種,這個命令可以將你的公鑰複製到遠端主機,因此你照樣可以實現無密碼ssh登入。
17、實時ssh網路吞吐量測試
yes | pv | ssh $host 「cat > /dev/null」通過ssh連線到主機,顯示實時的傳輸速度,將所有傳輸資料指向/dev/null,需要先安裝pv。
如果是debian:
apt-get install pv如果是fedora:
yum install pv(可能需要啟用額外的軟體倉庫)。
18、如果建立乙個可以重新連線的遠端gnu screen
19、繼續scp大檔案
rsync –partial –progress –rsh=ssh $file_source $user@$host:$destination_file它可以恢復失敗的rsync命令,當你通過vpn傳輸大檔案,如備份的資料庫時這個命令非常有用,需要在兩邊的主機上安裝rsync。
rsync –partial –progress –rsh=ssh $file_source $user@$host:$destination_file local -> remote或
rsync –partial –progress –rsh=ssh $user@$host:$remote_file $destination_file remote -> local20、通過ssh w/ wireshark分析流量
ssh [email protected] 『tshark -f 「port !22″ -w -』 | wireshark -k -i –使用tshark捕捉遠端主機上的網路通訊,通過ssh連線傳送原始pcap資料,並在wireshark中顯示,按下ctrl+c將停止捕捉,但也會關閉wireshark視窗,可以傳遞乙個「-c #」引數給tshark,讓它只捕捉「#」指定的資料報型別,或通過命名管道重定向資料,而不是直接通過ssh傳輸給wireshark,我建議你過濾資料報,以節約頻寬,tshark可以使用tcpdump替代:
ssh [email protected] tcpdump -w – 『port !22′ | wireshark -k -i –21、保持ssh會話永久開啟
autossh -m50000 -t server.example.com 『screen -raad mysession』開啟乙個ssh會話後,讓其保持永久開啟,對於使用膝上型電腦的使用者,如果需要在wi-fi熱點之間切換,可以保證切換後不會丟失連線。
22、更穩定,更快,更強的ssh客戶端
ssh -4 -c -c blowfish-cbc強制使用ipv4,壓縮資料流,使用blowfish加密。
23、使用cstream控制頻寬
echo w00t, i』m 733+ | cstream -b1 -t224、一步將ssh公鑰傳輸到另一台機器
ssh-keygen; ssh-copy-id user@host; ssh user@host這個命令組合允許你無密碼ssh登入,注意,如果在本地機器的~/.ssh目錄下已經有乙個ssh金鑰對,ssh-keygen命令生成的新金鑰可能會覆蓋它們,ssh-copy-id將金鑰複製到遠端主機,並追加到遠端賬號的~/.ssh/authorized_keys檔案中,使用ssh連線時,如果你沒有使用金鑰口令,呼叫ssh user@host後不久就會顯示遠端shell。
25、將標準輸入(stdin)複製到你的x11緩衝區
ssh user@host cat /path/to/some/file | xclip
SSH常用命令
一 如何登入ssh,二 ssh 操作常用命令 ls 檢視目錄下的內容,或 dir 命令 cd mydir 進入mydir目錄 cd 回上一級目錄 用cd 也一樣 cd 回根目錄 rm rf mydir 刪除mydir目錄 rm go.tar 刪除go.tar檔案 mv tools tool 把too...
ssh使用 常用命令)
切換到指定資料夾 cd home toy tomcat toy bin 找到tomcat對應的pid ps ef grep tomcat終止該程序 kill 9 重啟tomcat sh startup.shcd 開啟這個資料夾 ps 將某個程序顯示出來 a 顯示所有程式 e 此引數的效果與指定 a ...
Linux常用命令 ssh
疫情期間,居家學習的我們,可能會用到遠端服務,今天簡單介紹下ssh及linux的常用命令 echo path 檢視當前環境變數 gedit test 開啟test檔案 tab 補全命令 whereis ls ls在哪,查詢命令所在目錄 cpls lscp 複製 export path path ho...