25個必須記住的SSH命令

2021-06-27 10:20:32 字數 4619 閱讀 1482

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
6、通過中間主機建立ssh連線

ssh -t reachable_host ssh unreachable_host
unreachable_host表示從本地網路無法直接訪問的主機,但可以從reachable_host所在網路訪問,這個命令通過到reachable_host的「隱藏」連線,建立起到unreachable_host的連線。

7、將你的ssh公鑰複製到遠端主機,開啟無密碼登入 – 簡單的方法

ssh-copy-id username@hostname
8、直接連線到只能通過主機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 = syn

12、刪除文字檔案中的一行內容,有用的修復

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

13、通過ssh執行複雜的遠端shell命令

ssh host -l user $(更具移植性的版本:

ssh host -l user 「`cat cmd.txt`」

14、通過ssh將mysql資料庫複製到新伺服器

mysqldump –add-drop-table –extended-insert –force –log-error=error.log -uuser -ppass old_db_name | ssh -c user@newhost 「mysql -uuser -ppass new_db_name」
通過壓縮的ssh隧道dump乙個mysql資料庫,將其作為輸入傳遞給mysql命令,我認為這是遷移資料庫到新伺服器最快最好的方法。

15、刪除文字檔案中的一行,修復「ssh主機金鑰更改」的警告

sed -i 8d ~/.ssh/known_hosts
16、從一台沒有ssh-copy-id命令的主機將你的ssh公鑰複製到伺服器

cat ~/.ssh/id_rsa.pub | ssh user@machine 「mkdir ~/.ssh; cat >> ~/.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

ssh -t [email protected] /usr/bin/screen –xrr
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 -> local
20、通過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控制頻寬

tar -cj /backup | cstream -t 777k | ssh host 『tar -xj -c /backup』
echo w00t, i』m 733+ | cstream -b1 -t2
24、一步將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

個人站長必須記住的10個關鍵詞

第乙個關鍵詞 發現,就是說要善於尋找和發現機會。機不可失,失不再來,機會在 中國有句俗語,叫 缺什麼,補什麼 也就是看網際網路上還需要什麼,今天需要什麼,將來需要什麼。第二個關www.cppcns.com鍵詞 量力,就是要根據自己的實力對自己的 進行準確的定位。限於資金 技術 人員等諸多因素,個人 ...

25 條 SSH 命令和技巧

ssh是乙個非常偉大的工具,如果你要在網際網路上遠端連線到伺服器,那麼ssh無疑是最佳的候選。下面是通過網路投票選出的25個最佳ssh命令,你必須牢記於心。1 複製ssh金鑰到目標主機,開啟無密碼ssh登入 ssh copy id user host 如果還沒有金鑰,請使用ssh keygen命令生...

必須要記住的幾個vi操作

一 插入文字 1 i 在當前字元前插入文字 二 移動游標 1 ctrl f 向前翻頁 2 ctrl b 向後翻頁 3 g 移到首行 4 g 移到尾行 5 ng n可以是數字,移到第n行 三 儲存與退出 1 w 寫入檔案 2 q 退出檔案 3 wq 寫入並退出檔案 4 q 不儲存強制退出 備註 如果檔...