天天看點

linux 伺服器之間通過scp傳遞檔案不輸入密碼的方式

  1. 在上面提到了ssh-keygen支援rsa1、dsa、ecdsa、ed25519和rsa這幾種非對稱加密算法,其中最常用的就是RSA和DSA,比如使用RSA算法來生成公私鑰對的過程如下:
  2. [email protected]:~$ ssh-keygen -t rsa  
  3. Generating public/private rsa key pair.  
  4. Enter file in which to save the key (/home/nfer/.ssh/id_rsa):   
  5. Created directory '/home/nfer/.ssh'.  
  6. Enter passphrase (empty for no passphrase):   
  7. Enter same passphrase again:   
  8. Your identification has been saved in /home/nfer/.ssh/id_rsa.  
  9. Your public key has been saved in /home/nfer/.ssh/id_rsa.pub.  
  10. The key fingerprint is:  
  11. 16:77:45:71:31:7c:67:4f:91:09:07:74:4d:30:83:48 [email protected]  
  12. The key's randomart image is:  
  13. +--[ RSA 2048]----+  
  14. |         .E..*@XO|  
  15. |          . ..oBB|  
  16. |        . . .  o+|  
  17. |         o .    .|  
  18. |        S        |  
  19. |       .         |  
  20. |                 |  
  21. |                 |  
  22. |                 |  
  23. +-----------------+  
  1. [email protected]:~$  

注意上面有三處需要輸入資訊,分别是:

  1. 存儲公私鑰的檔案夾位置,如果不輸入,則預設為~/.ssh/,檔案名則預設是id_rsa和id_rsa.pub
  2. 使用該公私鑰時是否需要密碼,如果不輸入則表示不需要密碼
  3. 再次确認是否需要密碼

将User在A主機的公鑰加入到ssh的信任公鑰清單中

将剛才建立的~/.ssh/id_rsa.pub檔案中的内容拷貝添加到B主機上的~/.ssh/authorized_keys檔案中(如果沒有則建立一個),這個時候就建立了一條A-->B的信任關系。注意這個信任關系是有方向性的,如果要建立從B-->A的信任關系,則操作步驟和上面的類似,隻不過要反過來。

建立好信任關系後,這個時候使用任何ssh相關的工具則都無需輸入遠端的登陸密碼(如果在建立公私鑰對時輸入了密碼,那麼這個時候還需要輸入這個密碼才能使用公私鑰對)。

繼續閱讀