最近搭建jenkins环境,需要一个ssh的agent,于是新建了一个用户,设置免密登录
添加用户:
useradd jenkins_agent
Bash生成ssh密钥对:
ssh-keygen
Bash一直回车就可以生成密钥对
私钥在~/.ssh/id_rsa
公钥在~/.ssh/id_rsa.pub
把公钥写到服务器的~/.ssh/authorized_keys中即可实现免密登录
也可以通过命令复制公钥到服务器
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
Bash问题:
手动写入authorized_keys文件后,无法免密登录,查看日志提示”sshd[4917]: Authentication refused: bad ownership or modes for directory /home/jenkins_agent“
原因:
sshd的配置“StrictModes”设置ssh在接收登录请求之前是否检查用户家目录和rhosts文件的权限和所有权,修改~/.ssh权限为700,~/.ssh/authorized_keys权限为600即可,或者修改sshd_config的StrictMode为no。