⑴ ssh使用詳解
簡單來說,ssh是一種 網路協議 ,用於計算機之間的加密登錄。如果一個用戶從本地計算機,使用ssh協議登錄另一台遠程計算機,我們就可以認為,這種登錄是安全的,即使被中途截獲,密碼也不會泄露。
SSH 之所以安全是採用了公鑰加密的方式,通過客戶自己簽發公鑰加密用戶密碼,再通過主機持有的私鑰解密;不像 HTTPS 協議存在證書管理中心CA用於驗證公鑰的合法性,因此,存在被中間人劫持的風險,即劫持登錄請求發送篡改的公鑰來截獲用戶登錄密碼,俗稱」中間人攻擊「;
不過 SSH 存在一套自有的驗證方式:口令驗證及密鑰驗證,可有效避免大部分的攻擊;
使用上述命令測試連接性及驗證流程;
通過 ssh-keygen 工具生成本地公鑰文件,常用命令如下:
在 $HOME/.ssh/ 目錄下,會新生成兩個文件: id_rsa.pub 和 id_rsa 。 id_rsa.pub 是公鑰, id_rsa 是私鑰,其中 id_rsa 為默認文件名稱,若如上圖指定了文件路徑及名稱,則按照指定路徑及文件名生成;
說明:若 ssh 登錄使用密鑰驗證方式登錄,則需要輸入私鑰的密碼(生成密鑰時指定的密碼),若使用 ssh-agent 代理,則在同一個 session 會話下,只需要輸入一次私鑰密碼即可,由 ssh-agent 幫我們代理,避免每次登錄都需要輸入私密碼;
若登錄時未開啟,可手動開啟 ssh-agent ,可通過如下命令:
添加生成的 SSH key 到 ssh-agent :
查看添加的 SSH key :
若需要免密登錄,則需要將用戶的 public key 文件內存追加復制到登錄主機的 authorized_keys 配置文件中(默認路徑為 ~/.ssh/authorized_keys ),或者直接通過 ssh--id 工具完成,具體如下:
使用上述命令後即可實現 免密登錄 ;
ssh 配置包括系統級別的(針對客戶端的默認為 /etc/ssh/ssh_config ,針對服務端的``/etc/ssh/sshd_config )及用戶級別的配置文件(默認為 ~/.ssh/config`);且配置文件存在優先順序,低優先順序的配置項可視作默認值;而高優先順序的配置項則會覆蓋默認值。按優先順序,有如下排序:
/etc/ssh/config 配置文件選項如下:
/etc/ssh/sshd_config 配置文件選項如下:
常用的選項如下:
ssh -T [email protected] 驗證連接性,成功如下:
ssh配置文件詳解
git-ssh 配置和使用
ssh-keygen - Generate a New SSH Key
最佳搭檔:利用 SSH 及其配置文件節省你的生命