Eric.c 大佬有话说 : 2020-1-4 21:03:10
一键设置centos7+ 证书登陆的脚本
本帖最后由 Eric.c 于 2020-1-4 21:39 编辑
这玩意每个人的公钥都不一样,始终得改文件才能多机器操作。所以不搞那么复杂的交互等。每个人要用的都修改一份自己的
一键设置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
yfans 大佬有话说 : 2020-1-4 21:29:23
yc007t可以顺便修改下端口
sed -i ‘s/#Port 22/Port 2121/’ /etc/ssh/sshd_config
312633180 大佬有话说 : 2020-1-4 21:51:36
:lol 正有需求。谢谢大佬