建立於: 7年前 ( 更新: 7年前 )
在ssh的核心套件中的程式諸如,scp、ssh、ssh-add、ssh-agent、sshd及ssh-keygen
本文主要簡單描述ssh-agent及ssh-add使用情境。
在開始前先來看看這些指令用途的簡介:
我們使用
非常簡單,只要在命令列輸入命令

完成後,我們就可以透過
未使用任何參數時,
金鑰有密碼時,會要求輸入金鑰的密碼,如果提供了多個金鑰檔,他會記住最後一組輸入的密碼。
用途一(記憶密碼):
所以我們可以透過
這樣我們連線到遠端主機時就不需打複雜的金鑰密碼了。
我們可以透過-K,將密碼記憶到鑰匙圈中。(在Mac OS上重開機就會忘了ssh-agent金鑰)
用途二 (轉發驗證代員連線): 噢太文言文了,說白一點,就是跨主機驗證。
Client---->ServerA---->ServerB。
舉例,Server A無法登入Server B,我們Client是能登A及B的。
我們可以透過
我們能透過,如下的指令
不過每次啟用這個功能好像很麻煩,所以我們也可以將他加入到自己的ssh組態檔中。
~/.ssh/config
本文主要簡單描述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-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
No Comment
Post your comment