Python - 装机系列12 设置云主机root用户的ssh免密登录
程序员文章站
2024-03-08 20:09:22
...
说明
有些云主机为了安全,默认不允许root用户远程登录,但是如果要脚本执行命令时有时会不方便
1 修改配置文件
代开ssh服务的配置文件
vim /etc/ssh/sshd_config
将PermitRootLogin的注释打开,。我不想允许密码登录,所以保留原选项,应该也可以填yes和no,那样的话密码也可登录。密码最大尝试次数为6。
# Authentication:
#LoginGraceTime 2m
PermitRootLogin prohibit-password
#StrictModes yes
MaxAuthTries 6
#MaxSessions 10
顺带的设置连接时长(避免过一会ssh就失效了)。间隔60秒向客户端发连接心跳,10次没有收到消息才断开(10分钟)
ClientAliveInterval 60
ClientAliveCountMax 10
最后重启sshd服务
# 重启sshd
systemctl restart sshd.service
2 将本地公钥存到root之下
在云主机root登录的状态下
cd ~/.ssh
vi authorized_keys
在本地主机读取公钥
┌─[email protected]:~/.ssh
└─ $ cat id_rsa.pub
---
【公钥字符串】
把公钥字符串保存到云主机的authorized_keys之下,然后:wq退出。
3 远程免密连接
ssh [email protected]
此时已经可以免密远程登录root
Welcome to Ubuntu 18.04.3 LTS (GNU/Linux 4.19.0-6 x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
System information disabled due to load higher than 2.0
* Kubernetes 1.19 is out! Get it in one command with:
sudo snap install microk8s --channel=1.19 --classic
https://microk8s.io/ has docs and details.
* Canonical Livepatch is available for installation.
- Reduce system reboots and improve kernel security. Activate at:
https://ubuntu.com/livepatch
New release '20.04.1 LTS' available.
Run 'do-release-upgrade' to upgrade to it.
Last login: Fri Oct 2 23:55:03 2020 from 111.111.111.111
[email protected]:~#
Next …
下次找个空的主机,实验使用 sh脚本完成以上一系列操作。
root_ssh.sh
- 1 用户密码登录root
- 2 替换sshd_config文件
- 2.1 粗暴方式:直接拟定一个ssh文件,强行覆盖
- 2.2 温柔方式:将当前sshd未注释的文件读出,然后将新增的几条配置写入回存。
- 3 重启sshd.service