Linux 下 SSH 命令實例指南
基本用法
最簡單的 SSH 命令只需要指定用戶名和主機名參數即可. 主機名可以是 IP 地址或者域名. 命令格式如下:
$ ssh user@hostname
比如要在我的區域網內登錄一個樹莓派系統, 只需要簡單的在命令行輸入如下命令:
$ ssh pi@10.42.0.47
命令中的 pi 和 10.42.0.47 分別是我的樹莓派系統的用戶名和區域網 IP 地址. 實際使用時主機名需要改成你的目標主機(區域網內或者遠程)的 IP 地址.
如果你能夠成功登陸, 那麼下面的內容對你來說就輕而易舉了.
使用其他埠
SSH 默認連接到目標主機的 22 埠上,但是由於各種原因你可能需要連接到其他埠.
$ ssh -p 10022 user@hostname
如上命令就是通過添加參數 -p 指定埠號為 10022.
遠程執行命令
有時在遠程主機執行一條命令並顯示到本地, 然後繼續本地工作是很方便的. SSH 就能滿足這個需求:
$ ssh pi@10.42.0.47 ls -l
比如上面這個命令就會枚舉遠程主機的主目錄內容並在本地顯示. 是不是很酷? 你可以嘗試下其他命令看看.
掛載遠程文件系統
另外一個很贊的基於 SSH 的工具叫 sshfs. sshfs 可以讓你在本地直接掛載遠程主機的文件系統.
$ sshfs -o idmap=user user@hostname:/home/user ~/Remote
比如下面這條命令:
$ sshfs -o idmap=user pi@10.42.0.47:/home/pi ~/Pi
該命令就將遠程主機 pi 用戶的主目錄掛載到本地主目錄下的 Pi 文件夾.
要詳細了解可以參考 sshfs 教程.
X11 圖形界面
假如現在你想要在遠程主機運行一個圖形界面的程序, SSH 已經幫你想到了! 用前面提到的 SSH 基本命令加上參數 -X 連接到遠程主機即可開啟 X11 轉發功能. 登錄後你可能覺得沒什麼差別, 但是當你運行一個圖形界面程序後就會發現其中的不同的.
$ ssh -X pi@10.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 還有很多功能值得你去發掘, 這就要看你的想像力了。
via: http://linoxide.com/linux-command/pocket-guide-linux-ssh-command/
作者:Bobbin Zachariah 譯者:henryfour 校對:Caroline
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive