10個 ssh 簡單命令選項
一個系統管理員可能會同時管理著多臺伺服器,這些伺服器也許會放在不同的地方。要親自一臺一臺的去訪問來管理它們顯然不是最好的方法,透過遠端控制的方法應該是最有效的。遠端訪問最通用的一款應用程式就是 SSH(什麼?你還用telnet?....$%@%&W@$##)。
SSH 是什麼
SSH(全稱 Secure Shell)是一種加密的網路協議。使用該協議的資料將被加密,如果在傳輸中間資料洩漏,也可以確保沒有人能讀取出有用資訊。要使用 SSH,目標機器應該安裝 SSH 服務端應用程式,因為 SSH 是基於客戶-服務模式的。 當你想安全的遠端連線到主機,可中間的網路(比如因特網)並不安全,通常這種情況下就會使用 SSH。
安裝 SSH
的 Linux 系統預設已經安裝了 SSH。如果碰巧你的機器沒裝(譯註:我能吐槽麼?沒有不裝ssh的Linux伺服器吧,不過,大家要記得升級你的ssh伺服器),我們可以手工來安裝一下。最簡單的方式就是使用 Linux 包管理器。
基於 Debian / Ubuntu 的系統 :
安裝 ssh-client
$ sudo apt-get install openssh-client
安裝 ssh-server
$ sudo apt-get install openssh-server
基於 RedHat / CentOS 的系統 :
# yum install openssh-server openssh-clients
SSH 一旦安裝上,我們就可以在終端下輸入 ssh 來檢查下安裝的是否正常。
An ssh client
使用 SSH
提供了許多可使用的選項。這篇文章會介紹一些我們在日常操作中經常使用的選項。
1. 無選項引數執行 SSH
通常使用 SSH 的方式就是不加任何選項引數,僅僅輸入 "ssh"。下面是示例:
$ ssh 192.168.0.103
SSH connecti confirmation
第一次連線目標主機時,ssh 會讓你確認目標主機的真實性。如果你回答的是 NO,SSH 將不會繼續連線,只有回答 Yes 才會繼續(譯註:會加入RSA key的指紋作為記錄,如果下次連線發現指紋變化,會提示你)。
Connecting to SSH
下一次再登陸此主機時,SSH 就不會提示確認訊息了。對此主機的真實驗證資訊已經預設儲存在每個使用者的 /home/user/.ssh 檔案裡。
2. 指定登陸使用者
預設的,ssh 會嘗試用當前使用者作為使用者名稱來連線。在上面的示例命令中,ssh 會嘗試用使用者名稱叫 pungki 的使用者身份來登入伺服器,這是因為使用者 pungki 正在客戶機上使用 ssh 客戶端軟體。
假如目標主機上沒有叫 pungki 的使用者呢?這時你就必須提供一個目標主機上存在的使用者名稱。從一開始就要指定使用者名稱的,可以使用 -l 選項引數。
$ ssh -l leni 192.168.0.103
Ssh using -l option
我們也可以這樣輸入:
$ ssh leni@192.168.0.0103
Another way to supply username
3. 指定埠
SSH 預設使用的埠號是 22。大多現代的 Linux 系統 22 埠都是開放的。如果你執行 ssh 程式而沒有指定埠號,它直接就是透過 22 埠傳送請求的。
一些系統管理員會改變 SSH 的預設埠號。讓我們試試,現在埠號是 1234.要連上那主機,就要使用 -p 選項,後面在加上 SSH 埠號。
$ ssh 192.168.0.103 -p 1234
要改變埠號,我們需要修改 /etc/ssh/ssh_config 檔案,找到此行:
Port 22
把它換成其他的埠號,比如上面示例的 1234 埠,然後重啟 SSH 服務。
4.對所有資料請求壓縮
有了這個選項,所有透過 SSH 傳送或接收的資料將會被壓縮,並且任然是加密的。要使用 SSH 的壓縮功能,使用 -C 選項。
$ ssh -C 192.168.0.103
如果你的連網速度很慢的話,比如用 modem 上網,這個選項非常有用。但如果你使用的是像 LAN 或其它更高階網路的話,壓縮反而會降低你的傳輸速度。可以使用 -o 選項加上壓縮級別引數來控制壓縮的級別,但這個選項僅僅只在 SSH-1 下起作用。
5. 指定一個加密演算法
SSH 提供了一些可用的加密演算法。可以在 /etc/ssh/ssh_config 或 ~/.ssh/config 檔案中看到(如果存在的話)。
SSH cipher configuration example
讓我們試試比如你想使用 blowfish 演算法來加密你的 SSH 會話,那麼你只要把這一行加入你的 /etc/ssh/ssh_config 或 ~/.ssh/config 檔案就可以:
Cipher blowfish
預設的,SSH 會使用 3des 演算法。
6. 開啟除錯模式
因為某些原因,我們想要追蹤除錯我們建立的 SSH 連線情況。SSH 提供的 -v 選項引數正是為此而設的。
$ ssh -v 192.168.0.103
debug ssh connection
7. 繫結源地址
如果你的客戶端有多於兩個以上的 IP 地址,你就不可能分得清楚在使用哪一個 IP 連線到 SSH 伺服器。
More than 1 IP Address
為了解決這種情況,我們可以使用 -b 選項來指定一個IP 地址。這個 IP 將會被使用做建立連線的源地址。
$ ssh -b 192.168.0.200 -l leni 192.168.0.103
服務端,我們可以使用 netstat 命令來檢查到服務的連線是否建立。可以看到 IP 為 192.168.0.200 的連線已經建立。
Bind address using SSH
8. 使用其他配置檔案
預設情況下,ssh 會使用位於 /etc/ssh/ssh_config 的配置檔案。這個配置檔案作用於系統的所有使用者。但你想要為特定的使用者指定特殊的設定的話,可以把配置放入 ~/.ssh/config 檔案中。如果此檔案不存在,可以手工建立一個。
下面是一個通用 ssh_config 檔案配置的例子。這配置檔案位於 /home/pungki 目錄下。
Host 192.168.0.*
Host 192.168.0.* ForwardX11 yes PasswordAuthentication yes ConnectTimeout 10 Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc Protocol 2 HashKnownHosts yes
要使用指定的配置檔案,可以使用 -F 選項。
$ ssh -F /home/pungki/my_ssh_config 192.168.0.101
Specify your ssh_config
9. 使用 SSH X11 Forwarding
某些時候,你可能想把服務端的 X11 應用程式顯示到客戶端計算機上,SSH 提供了 -X 選項。但要啟用這功能,我們需要做些準備,下面是它的設定:
在伺服器端,你需要使 /etc/ssh/ssh_config 檔案中的行設定成 ForwardX11 yes 或者 X11Forwad yes,以啟用 X11 Forwarding,重啟 SSH 服務程式。
然後在客戶端,輸入 ssh -X user@host:
$ ssh -X leni@192.168.0.101
一旦登陸,可以輸入:
$ echo $DISPLAY
來檢查,你應該可以看到向如下所示的
localhost:10:0
隨後就可以執行應用了,僅僅只能輸入應用程式的命令。讓我們試試,比如想執行 xclock 程式,輸入:
$ xclock
Use X11 Formading
它就執行起來了,xclock 確實是執行在遠端系統的,但它在你的本地系統裡顯示了。
xclock
10. 可信任的 X11 轉發
如果你敢肯定你的網路是安全的,那麼你可以使用可信任的 X11 轉發機制。這意味著遠端的 X11 客戶端可以完全的訪問源 X11 顯示內容。要使用此功能,可以使用 -Y 選項。
$ ssh -Y leni@192.168.0.101
SSH _Y for trusted connection
結論
我們相信 SSH 的使用範圍非常之廣。SSH 給使用者提供了網路連線的極大安全性和靈活性。通常我們都會輸入 man ssh 和 man ssh_config 來顯示它的使用者手冊及檢視更多的細節。
(譯註補充:建議使用ssh的協議版本2,因此請修改 ssh_config 檔案的 Protocol 欄位為:2,而將對協議1的支援取消。)
原創:
原創: 譯者: runningwater
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/3209/viewspace-2814625/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- tcpdump 命令的個常用選項:一TCP
- tcpdump 命令的個常用選項:三TCP
- tcpdump 命令的個常用選項:二TCP
- 使用JS實現一個簡單的選項卡效果JS
- Win10系統下怎麼將右鍵選單中的WinRAR選項合成一個選項Win10
- Win10系統下將右鍵選單WinRAR選項合併成一個選項的方法Win10
- win10怎麼簡化選單_win10怎麼精簡選單Win10
- win10開始選單怎麼增加休眠選項?win10開始選單增加休眠選項的辦法Win10
- CollectionView 單個選項卡的滑動View
- 完全解析Rsync命令的17個備份選項
- zookeeper簡單命令
- git簡單命令Git
- SSH 免密登陸 簡單版
- ssh免密登入簡單操作
- socket實現簡單ssh服務
- Git配置單個或多個SSHGit
- window10開始選單怎麼簡化_windows10系統中簡化開始選單教程Windows
- win10開始選單怎麼簡易化 win10左下角開始選單如何簡易化Win10
- tcpdump 命令的常用選項:一TCP
- tcpdump 命令的常用選項:二TCP
- tcpdump 命令的常用選項:三TCP
- 簡單選擇排序就是簡單~~~排序
- Tkinter (13) 選項選單部件 OptionMenu
- 娛樂 | 14個簡單、有趣、好玩的Linux命令Linux
- Win10系統選中多個檔案後右鍵選單選項變少丟失如何解決Win10
- shell簡單命令大全。
- Linux簡單命令(一)Linux
- 簡單使用rpm命令
- docker命令簡單使用Docker
- ssh遠端連結(簡易連線linux命令)Linux
- Win10系統怎麼在開始選單新增休眠選項Win10
- Windows10系統右鍵選單中的“radeon”選項的方法Windows
- Python中Scrapy框架元素選擇器XPath的簡單例項Python框架單例
- CSP201403-3:命令列選項命令列
- 很有用的 GCC 命令列選項GC命令列
- win10右鍵skydrive pro選項怎麼刪除_win10右鍵選單中skydrive pro選項的刪除方法Win10
- ABP後臺管理頁面AdminLTE框架,實現選單項點選後,選單展開當前選單項高亮框架
- win10怎麼去除桌面右鍵多餘選單命令_win10如何清理右鍵新建選單Win10