25 條 SSH 命令和技巧

2021-09-02 09:19:17 字數 2338 閱讀 7527

ssh是乙個非常偉大的工具,如果你要在網際網路上遠端連線到伺服器,那麼ssh無疑是最佳的候選。下面是通過網路投票選出的25個最佳ssh命令,你必須牢記於心。

1、複製ssh金鑰到目標主機,開啟無密碼ssh登入

ssh-copy-id user@host

如果還沒有金鑰,請使用ssh-keygen命令生成。

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

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、通過你的電腦,複製遠端 host1 主機上的檔案到遠端 host2 主機上的檔案

ssh root@host1 「cd /somedir/tocopy/ && tar -cf – .」 | ssh root@host2 「cd /samedir/tocopyto/ && tar -xf -」

如果只有你能同時訪問 host1 和 host 2 ,但它們不能訪問你的主機(因此 ncat 是無法工作的),而且它們之間也無法直接訪問。

8、執行任何遠端主機上的 gui 程式

ssh -fx @

ssh 伺服器端必須要具備以下條件:

x11forwarding yes #確保 x11 **是開啟的

同時也可以開啟

compression delayed

當然,你要能訪問主機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 直接開啟並還原 screen 命令

ssh -t remote_host screen –r

直接連線到遠端 screen 會話(節省了無用的父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

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

ssh命令使用技巧

有的時候需要確認一下ssh客戶端及其相應的版本號。使用ssh v命令可以得到版本號。需要注意的是,linux一般自帶的是openssh 下面的例子即表明該系統正在使用openssh ssh v openssh 3.9p1,openssl 0.9.7a feb 19 2003 下面的例子表明該系統正在...

25條常用的git命令

1 建立乙個新分支 git branch newbranch2 拉取stg分支的內容到此分支 git pull origin master3 將本地分支推送到伺服器 git push origin newbrach4 檢視歷史記錄 git log5 檢視簡潔log日誌 git log pretty ...

25個必須記住的SSH命令

1 複製ssh金鑰到目標主機,開啟無密碼ssh登入 ssh copy id user host如果還沒有金鑰,請使用ssh keygen命令生成。2 從某主機的80埠開啟到本地主機2001埠的隧道 ssh n l2001 localhost 80 somemachine現在你可以直接在瀏覽器中輸入h...