CentOS7 SSH免密码登录和关闭密码登录
以 Root 用户为例,首先生成一对公钥私钥对:
会提示存放位置,保持默认即可,默认位置:
提示输入密码,最好是输入一个,安全起见,也比较重要。
然后切换到 /root/ssh 目录下看看是否已经生成了,如果已经有了公钥私钥对,直接把文件拷贝到这个目录即可,在 Windows 下使用 WinSCP 工具,其他使用 scp 命令即可。
接下来,把公钥复制到 authorized_keys 里,不然是没法通过密钥验证的。
接下来,关闭 SSH 密码登录,找到 /etc/ssh/sshd_config 文件,找到 PasswordAuthentication yes 这一行,一般位于倒数几行,把 yes 改为 no。
最后重启 ssh 服务,一般服务器是不需要重启。
这 个 简 单 ,就是你 使 用 天 翼云盘账号登 录 的时 候 , 系统会 认证 你 的 手 机号码 和账 号或绑定 的 手 机 号 是 否 一致 ,如果是一致 的 话 , 就 不需要 输 入 密 码 和 接 受 短信验 证 码可以 直 接快捷 的登 录 了 , 相 反, 如 果不 一致 的 话就 会 登 录 失 败 ,所 以说天翼 云 盘这个 免 密 登 录方式体 验 效 果更 好 , 也 更方 便 了 。
方法一:
在jenkins服务器中生成私钥 在id_rsa中
然后将其添加到应用服务器/apps/ssh/id_rsa中。 (也就是两台服务器的密钥是一样的,id_rsa中的内容)
再将该密钥放入Publish over SSH中对应的服务器信息中,则能实现免密传输。
方法二:
可以参考另一篇文章中的方法,原理是一样的。
搭建CI流程–jenkins
在期间遇到的坑:
1提示信息
jenkinspluginspublish_overBapPublisherException: Failed to add SSH key Message [invalid privatekey: [B@60373f7]
这是由于生成密钥的openssh的版本过高,
首行开头是
-----BEGIN OPENSSH PRIVATE KEY——--,则不支持。
需要使用以下命令
ssh-keygen -m PEM -t rsa -b 4096
来生成密钥。 -m 参数指定密钥的格式, PEM是rsa之前使用的旧格式,4096为长度。
这样生成后的密钥开头为
-----BEGIN RSA PRIVATE KEY-----。。
则可以通过密钥校验
2提示信息
jenkinspluginspublish_overBapPublisherException: Failed to connect and initialize SSH connection Message: [Failed to connect session for config [101614847(uat-prod-1)] Message [Auth fail]]
则需要将jenkins服务器上的 id_rsapub中的公钥值添加到对应服务器的authorized_keys中。
0条评论