Ssh
Ansible 提供的使用者總是詢問密碼
我用 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
.