1. 基本用法
最簡單的用法就是不帶參數,僅輸入 ssh 再加上主機地址,比如:
ssh 192.168.0.112
這種形式登陸主機,會默認使用當前用戶進行登錄。第一次連接的時候,SSH 會確認目標主機的真實性,如果沒有問題的話,輸入 yes 即可。
如果我們想要以指定用戶名來登錄主機,有兩種方法:
a. 使用 -l選項
ssh -l test 192.168.0.112
b. 使用 user@hostname 格式
ssh test@192.168.0.112
這兩種方法,其中第二種尤為常用。
2. 指定端口登錄
SSH 默認使用的端口號是 22。大多現代的 linux 系統 22 端口都是開放的。如果你運行 ssh 程序而沒有指定端口號,它直接就是通過 22 端口發送請求的。
如果我們不想通過 22 端口登錄,那么我們可以使用 -p選項來指定端口。
ssh 192.168.0.112 -p 8091
引申話題:如何修改端口號?
只需修改 /etc/ssh/ssh_config,修改如下一行:
Port 22
3. 對所有數據請求壓縮
使用 -C選項,所有通過 SSH 發送或接收的數據將會被壓縮,并且任然是加密的。
ssh -C 192.168.0.112
但是,這個選項在網速不是很快的時候比較有用,而當網速較快的時候,使用壓縮反而會降低效率,所以要視情況使用。
4. 打開調試模式
因為某些原因,我們想要追蹤調試我們建立的 SSH 連接情況。SSH 提供的 -v選項參數正是為此而設的。其可以看到在哪個環節出了問題。
5. 綁定源地址
如果你的客戶端有多于兩個以上的 IP 地址,你就不可能分得清楚在使用哪一個 IP 連接到 SSH 服務器。為了解決這種情況,我們可以使用 -b選項來指定一個IP 地址。這個 IP 將會被使用做建立連接的源地址。
ssh -b 192.168.0.101 test@192.168.0.112
6. 遠程執行命令
如果我們想在目標主機執行一條命令,我們通常的做法是,先登錄到目標主機,執行命令,再退出來。這樣做當然是可以,但是比較麻煩。
如果我們僅僅是想遠程執行一條命令,可以直接在后面跟上命令就好,如下:
ssh test@192.168.0.112 ls -l
Desktop
Documents
Downloads
MagPi
Music
7. 掛載遠程文件系統
另外一個很贊的基于 SSH 的工具叫 sshfs。sshfs 可以讓你在本地直接掛載遠程主機的文件系統。它的使用格式如下:
sshfs -o idmap=user user@hostname:/home/user ~/Remote