標籤:http os 使用 ar strong for 檔案 2014 sp
如果你已經在IT圈內混久了, 應該對 SSH 這個了不起的工具及其安全特性有所耳聞吧. 本教程可以讓你在短時間內掌握通過 SSH 安全便利地串連到遠端電腦的技術.
如果你對 SSH 還沒什麼概念, 可以先訪問 維基百科 進行瞭解.
基本用法
最簡單的 SSH 命令只需要指定使用者名稱和主機名稱參數即可. 主機名稱可以是 IP 位址或者網域名稱. 命令格式如下:
- $ ssh [email protected]
比如要在我的區域網路內登入一個樹莓派系統, 只需要簡單的在命令列輸入如下命令:
- $ ssh [email protected].42.0.47
命令中的 pi 和 10.42.0.47 分別是我的樹莓派系統的使用者名稱和區域網路 IP 位址. 實際使用時主機名稱需要改成你的目標主機(區域網路內或者遠程)的 IP 位址.
如果你能夠成功登陸, 那麼下面的內容對你來說就輕而易舉了.
使用其他連接埠
SSH 預設串連到目標主機的 22 連接埠上,但是由於各種原因你可能需要串連到其他連接埠.
- $ ssh -p 10022 [email protected]
如上命令就是通過添加參數 -p 指定連接埠號碼為 10022.
遠程執行命令
有時在遠程主機執行一條命令並顯示到本地, 然後繼續本地工作是很方便的. SSH 就能滿足這個需求:
- $ ssh [email protected].42.0.47 ls -l
比如上面這個命令就會枚舉遠程主機的主目錄內容並在本地顯示. 是不是很酷? 你可以嘗試下其他命令看看.
掛載遠程檔案系統
另外一個很贊的基於 SSH 的工具叫 sshfs. sshfs 可以讓你在本地直接掛載遠程主機的檔案系統.
- $ sshfs -o idmap=user [email protected]:/home/user ~/Remote
比如下面這條命令:
- $ sshfs -o idmap=user [email protected].42.0.47:/home/pi ~/Pi
該命令就將遠程主機 pi 使用者的主目錄掛載到本地主目錄下的 Pi 檔案夾.
要詳細瞭解可以參考 sshfs 教程.
X11 圖形介面
假如現在你想要在遠程主機運行一個圖形介面的程式, SSH 已經幫你想到了! 用前面提到的 SSH 基本命令加上參數 -X 串連到遠程主機即可開啟 X11 轉寄功能. 登入後你可能覺得沒什麼差別, 但是當你運行一個圖形介面程式後就會發現其中的不同的.
- $ ssh -X [email protected].42.0.47
-
- $ pistore
如果你想在運行圖形介面程式的同時做些別的事情, 只需要簡單地在命令末尾加一個 & 符號.
- $ pistore&
逸出字元
SSH 提供了多樣的逸出字元功能. 用 SSH 串連到任意一台遠程主機然後輸入 ~? 你就可以看到支援的逸出字元和功能說明列表. 以下例子展示了 ~# 和 ~C 的效果.
配置 SSH
如果你需要改變 SSH 的配置, 請用你喜好的文字編輯器開啟 /etc/ssh/sshd_config 進行編輯. 比如你想改變登陸的標語, 在設定檔中找到下面這行:
- #Banner none
刪除 # 字元(取消該行的注釋), 將 none 替換為包含你期望顯示內容的檔案地址. 修改後該行應該類似這樣:
- Banner /etc/issue
在設定檔 /etc/ssh/sshd_config 中你還可以找到連接埠號碼, 空閑逾時時間等配置項. 配置項大都比較容易理解, 但是保險起見在你修改一些不是很確定的配置項時最好參考下 SSH 的協助文檔.
構建 ssh 金鑰組
運行以下命令建立金鑰組:
- $ ssh-keygen -t dsa
此命令會要求你輸入密碼(可以留空), 然後就會產生密鑰並會顯示一張該金鑰組應的隨機圖.
尋找主機密鑰
在你準備添加密鑰之前不妨先用以下命令看看是否已經添加了對應主機的密鑰了.
- $ ssh-keygen -F 10.42.0.47
刪除主機密鑰
某些情況下, 比如主機地址更改或者不再使用某個密鑰, 你就可能需要刪除某個密鑰.
- $ ssh-keygen -R 10.42.0.47
用以上命令就可刪除. 這比手動在 ~/.ssh/known_hosts 檔案中刪除要方便很多.
總結
通過以上的內容你應該可以便於使用 SSH 了. SSH 還有很多功能值得你去發掘, 這就要看你的想象力了。
Linux 下 SSH 命令執行個體指南