Ssh

Ansible 提供的使用者總是詢問密碼

  • February 12, 2018

我用 Ansible 創建了一個 jenkins 使用者,當我連接到機器時,它總是詢問密碼。我沒有設置。提供的密鑰沒有密碼

這是使用者創建:

- name: Create Jenkins user
 user:
   name: jenkins
   state: present
   shell: /bin/bash
   home: /home/jenkins
 tags:
   - debug

- name: Set authorized key for Jenkins user
 authorized_key:
   user: jenkins
   state: present
   key: https://mystorage.blob.core.windows.net/config/{{ env }}id_rsa.pub
 tags:
   - debug

當我通過 ssh 連接到機器之後

ssh -i azureid_rsa.pub jenkins@xxx.xxx.xxx.xxx
Enter passphrase for key '../../../../blob/azureid_rsa.pub':

問題是什麼?我沒有設置密碼,密鑰也沒有。

是的,您應該使用私鑰azureid_rsa登錄。您可以查看此連結:SSH 密鑰如何工作?

SSH 密鑰對是兩個加密安全密鑰,可用於向 SSH 伺服器驗證客戶端。每個密鑰對由一個公鑰和一個私鑰組成。

私鑰由客戶保留,應絕對保密。私鑰的任何洩露都將允許攻擊者登錄到配置有相關公鑰的伺服器,而無需額外的身份驗證。作為額外的預防措施,可以使用密碼在磁碟上對密鑰進行加密。

關聯的公鑰可以自由共享,不會產生任何負面影響。公鑰可用於加密只有私鑰才能解密的消息。此屬性用作使用密鑰對進行身份驗證的一種方式。

公鑰被上傳到您希望能夠使用 SSH 登錄的遠端伺服器。該密鑰被添加到您將登錄的使用者帳戶中的一個特殊文件中,稱為~/.ssh/authorized_keys.

引用自:https://serverfault.com/questions/895670