我使用 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 [email protected]
Enter passphrase for key '../../../../blob/azureid_rsa.pub':
有什么问题?我没有设置密码,密钥中也没有密码。
答案1
是的,你应该使用私钥azureid_rsa
登录。你可以查看这个链接:SSH 密钥如何工作?
SSH 密钥对是两个加密安全密钥,可用于向 SSH 服务器验证客户端的身份。每个密钥对均由一个公钥和一个私钥组成。
私钥由客户端保留,应绝对保密。任何对私钥的泄露都将允许攻击者无需额外身份验证即可登录配置了相关公钥的服务器。作为额外的预防措施,可以使用密码将密钥加密到磁盘上。
关联的公钥可以自由共享,不会产生任何负面影响。公钥可用于加密只有私钥才能解密的消息。此属性可用作使用密钥对进行身份验证的一种方式。
公钥被上传到您想要使用 SSH 登录的远程服务器。密钥被添加到您将要登录的用户帐户内名为 的特殊文件中~/.ssh/authorized_keys
。