by Devin Yang

建立於: 7年前 ( 更新: 7年前 )

在ssh的核心套件中的程式諸如,scp、ssh、ssh-add、ssh-agent、sshd及ssh-keygen
本文主要簡單描述ssh-agent及ssh-add使用情境。

在開始前先來看看這些指令用途的簡介:
scp Secure Copy主機間進行加密安全的拷貝。
ssh Secure Shell用戶端,用來連接伺服器執行系統命令,可以視為有加密的telnet。
ssh-add 把金鑰識別加到驗證代理員。
ssh-agent 進行公鑰驗證時,讓遠端主機可以存取儲存您的私人鑰匙。
sshd 預設會聆聽通訊埠22的Secure Shell伺服器。
ssh-keygen ssh的金鑰產生器,可以產生公私鑰對,進行遠端主機的公鑰驗證。
我們使用 ssh-add 前,先來看看驗證代理員(ssh-agent -- authentication agent),如何啟動他?
非常簡單,只要在命令列輸入命令 ssh-agent 即可。
ssh-agent
完成後,我們就可以透過 ssh-add 命令,將金鑰加入到 ssh-agent (驗證代理員)。
未使用任何參數時, ssh-add 會去新增~/.ssh/id_rsa, ~/.ssh/id_dsa, ~/.ssh/id_ecdsa, ~/.ssh/id_ed25519 and ~/.ssh/identity.
金鑰有密碼時,會要求輸入金鑰的密碼,如果提供了多個金鑰檔,他會記住最後一組輸入的密碼

用途一(記憶密碼):
所以我們可以透過 ssh-add 把密碼加入到 ssh-agent 來記憶我們的金鑰密碼,
這樣我們連線到遠端主機時就不需打複雜的金鑰密碼了。
我們可以透過-K,將密碼記憶到鑰匙圈中。(在Mac OS上重開機就會忘了ssh-agent金鑰)

用途二 (轉發驗證代員連線): 噢太文言文了,說白一點,就是跨主機驗證。

Client---->ServerA---->ServerB。

舉例,Server A無法登入Server B,我們Client是能登A及B的。
我們可以透過 ssh -A ServerA ,因為有了-A參數,啟動了轉發(forwarding)功能,這樣就連到ServerA再透過轉發代理,使用我們的金鑰連到ServerB了。
我們能透過,如下的指令 ssh-add -L 查看新增到ssh-agent的公鑰。

不過每次啟用這個功能好像很麻煩,所以我們也可以將他加入到自己的ssh組態檔中。
~/.ssh/config
Host ServerA
  HostName 35.194.181.21
  ForwardAgent yes

Tags: linux security

Devin Yang

文章內容無法一一說明,如果您有什麼不了解處,歡迎提問哦:)

No Comment

Post your comment

需要登入才可留言!

類似的文章


linux,system,config

修正CentOS6.x無法再更新的問題

有些地方或許還存在一些老舊程式,只能跑舊的系統。但又希望能執行及安裝一些想要的套件,您或許可以試這招請注意,如果這個系統對您很重要,請自行評估,建議您是Docker環境,並且有備份了image才可嚐試。

linux

如何安裝monitor工具htop到CentOS上

Htop是一個基於Linux的免費(GPL)基於ncurses的程序monitor工具。 他類似於top,但允許您垂直和水平滾動,所以您可以看到運行在系統完整的命令行, 以及可將它們視為程序樹,選擇多個程序並進行操作。

linux

移除Ubuntu上舊版本用不到的Linux Kernel

這個頁面描述我如何移掉 ubuntu上佔空間的舊版本Linux Kernel。