这玩意每个人的公钥都不一样,始终得改文件才能多机器操作。所以不搞那么复杂的交互等。每个人要用的都修改一份自己的
一键设置centos7证书登陆的脚本
##使用前提: 你需要提前准备好你的公钥文本
客户端是window系统,可以使用putty的工具生成证书对,获取id_ras.pub 这个公钥内容。 用文本工具打开这个文件,拷贝即可。
客户端是mac 、 linux系统,可以使用以下命令生成证书对
ssh-keygen -t rsa
会提示输入:密钥存放位置(直接回车,默认在/home/用户名/.ssh/目录)、密码短语、重复密码短语。 完成后在/home/用户名/.ssh/目录下生成了2个文件:id_rsa为私钥,id_rsa.pub为公钥。
可以执行
cat /home/用户名/.ssh/id_rsa.pub
得到公钥的文本
##使用方法: 编辑login.sh文件里面的xxxx部分,改成你刚得到的内容。 然后将文件传到服务器上去,手动执行 chmod +x login.sh && ./login.sh 即可完成设置
#建议大家存为自己的一个脚本,这样不用每次都设置。
Ref: https://github.com/mallka/sshLoginByCertFile
#!/usr/bin/env bash mkdir -p /root/.ssh && chmod 600 /root/.ssh && echo "换成你的公钥内容" > /root/.ssh/authorized_keys && chmod 700 /root/.ssh/authorized_keys #启用证书登陆 sed -i 's:#AuthorizedKeysFile:AuthorizedKeysFile:' /etc/ssh/sshd_config sed -i 's/#PasswordAuthentication/PasswordAuthentication/' /etc/ssh/sshd_config #以下两项不一定有,有就处理,也是证书登陆内容 sed -i 's/#RSAAuthentication yes/RSAAuthentication yes/' /etc/ssh/sshd_config sed -i 's/#StrictModes no/StrictModes no/' /etc/ssh/sshd_config #如果要改端口,加入以下这行 sed -i 's/Port 22/Port 2121/' /etc/ssh/sshd_config systemctl restart sshd.service
最新评论
Thanks for such an amazing list. I was looking for tools just like these!
这个页面的资源可以补下档吗?
谢谢分享!!!
要是有linux版的就更完美了
还有吗?
谢谢分享
厉害1727
厉害