- 在上面提到了ssh-keygen支援rsa1、dsa、ecdsa、ed25519和rsa這幾種非對稱加密算法,其中最常用的就是RSA和DSA,比如使用RSA算法來生成公私鑰對的過程如下:
- [email protected]:~$ ssh-keygen -t rsa
- Generating public/private rsa key pair.
- Enter file in which to save the key (/home/nfer/.ssh/id_rsa):
- Created directory '/home/nfer/.ssh'.
- Enter passphrase (empty for no passphrase):
- Enter same passphrase again:
- Your identification has been saved in /home/nfer/.ssh/id_rsa.
- Your public key has been saved in /home/nfer/.ssh/id_rsa.pub.
- The key fingerprint is:
- 16:77:45:71:31:7c:67:4f:91:09:07:74:4d:30:83:48 [email protected]
- The key's randomart image is:
- +--[ RSA 2048]----+
- | .E..*@XO|
- | . ..oBB|
- | . . . o+|
- | o . .|
- | S |
- | . |
- | |
- | |
- | |
- +-----------------+
- [email protected]:~$
注意上面有三處需要輸入資訊,分别是:
- 存儲公私鑰的檔案夾位置,如果不輸入,則預設為~/.ssh/,檔案名則預設是id_rsa和id_rsa.pub
- 使用該公私鑰時是否需要密碼,如果不輸入則表示不需要密碼
- 再次确認是否需要密碼
将User在A主機的公鑰加入到ssh的信任公鑰清單中
将剛才建立的~/.ssh/id_rsa.pub檔案中的内容拷貝添加到B主機上的~/.ssh/authorized_keys檔案中(如果沒有則建立一個),這個時候就建立了一條A-->B的信任關系。注意這個信任關系是有方向性的,如果要建立從B-->A的信任關系,則操作步驟和上面的類似,隻不過要反過來。
建立好信任關系後,這個時候使用任何ssh相關的工具則都無需輸入遠端的登陸密碼(如果在建立公私鑰對時輸入了密碼,那麼這個時候還需要輸入這個密碼才能使用公私鑰對)。