要实现CentOS 7.6上的Docker容器中的Jenkins免密登录到CentOS 6.5服务器(前提是ssh版本都要7以上),你需要在Jenkins容器内生成SSH密钥,并将公钥添加到CentOS 6.5服务器上。以下是详细步骤:

1. 在Jenkins容器中生成SSH密钥

  1. 进入Jenkins容器:

    docker exec -it jenkins /bin/bash
    
  2. 生成SSH密钥:

    • 使用ssh-keygen生成密钥,按提示操作,可以直接按Enter使用默认设置。
    ssh-keygen
    
    • 密钥将会被保存在~/.ssh/id_rsa(私钥)和~/.ssh/id_rsa.pub(公钥)。

2. 将公钥添加到CentOS 6.5服务器

  1. 查看并复制公钥:

    cat ~/.ssh/id_rsa.pub
    
    • 这会显示公钥内容,复制这个内容。
  2. 登录到CentOS 6.5服务器:

    • 在你的本地机器上,使用SSH登录到10.11.1.10
  3. 添加公钥到~/.ssh/authorized_keys:

    • 10.11.1.10上,编辑~/.ssh/authorized_keys文件,将复制的公钥内容粘贴进去。
    echo '复制的公钥内容' >> ~/.ssh/authorized_keys
    
    • 确保~/.ssh目录和authorized_keys文件的权限正确(~/.ssh目录权限为700authorized_keys文件权限为600)。

3. 测试免密登录

  • 在Jenkins容器内尝试使用SSH连接到10.11.1.10,应该可以无需密码直接登录。
ssh 10.11.1.10

注意事项

在容器中删除主机:
ssh-keygen -f "/root/.ssh/known_hosts" -R "10.11.1.10"

  • 确保10.11.1.10的SSH服务允许使用密钥认证。
  • 如果在步骤中遇到任何权限问题,请检查相关文件和目录的权限设置。
  • 对于生产环境,确保遵循你的组织的安全策略和最佳实践。

按照这些步骤操作,你应该能够实现Jenkins容器到CentOS 6.5服务器的免密SSH登录。

12-21 13:01