运营维护服务器免密登录技巧【一般人我不告诉他】
目录
前言
正文
结尾
首先,我们需要搞清楚这其中的原理:我们在本地生成本机的公钥和私钥,使用如下命令:
一路回车即可。
最后,默认的公钥和私钥存储在本地目录下的 ~/.ssh 文件夹下。
使用相应的命令查看及其结果:
其中,公钥的内容可以给大家看一下(私钥要保留好呦!):
然后,我们把公钥交给另一台服务器,当本机去远程连接另一台服务器时,另一台服务器会使用公钥与本服务器的私钥配对,如果配对成功,就能连接成功。
那么,我们具体应该怎样操作呢?
请从如下几个方面考虑!
1. 确认.ssh目录权限必须是700
该目录的地址:
2. 确认authorized_keys文件权限必须是600
该文件的地址:
注意,尽管没有后缀名,但这是一个文件呦。
3. 修改StrictModes属性
默认StrictModes属性是 yes,需要修改成 no。
该文件的地址:
4. 启用AuthorizedKeysFile配置
配置项AuthorizedKeysFile默认是注释的,需要取消注释。
该文件的地址:
5. 重启ssh服务
执行如下命令来重启ssh服务:
然后,重试ssh登陆命令。
6. 终极大招
执行如下命令:
#运营##学习路径#
前言
正文
结尾
前言
我们平时在管理服务器的时候,经常需要各个云服务器,特别是负责运营和维护的同学。面对这样的需要,每次都必须输入账户和密码十分麻烦,今天我们就来搞懂通过添加公钥实现ssh免密登录服务器这件事儿!正文
无论是你服务器开发人员,还是运维人员,在实际使用过程中,都会遇到这样的问题——我需要通过本地shell登陆远端的服务器。首先,我们需要搞清楚这其中的原理:我们在本地生成本机的公钥和私钥,使用如下命令:
ssh-keygen -t rsa
一路回车即可。
最后,默认的公钥和私钥存储在本地目录下的 ~/.ssh 文件夹下。
使用相应的命令查看及其结果:
liuzhen:.ssh lz$ ls
id_rsa id_rsa.pub known_hosts
其中,公钥的内容可以给大家看一下(私钥要保留好呦!):
liuzhen:.ssh lz$ cat id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDGHloOJMIfOmN7TCvKMsP6/
f8Kea08ZcgG76jDypPgfDFVRvalZtmfz9jNjyuCq6IIs4DbPiOrHTKUJ4gt+c/JxG4/DltG
dCZ1RI4nrKMm2KoLSHFKI/zLDfztM7K/UhR3zcufWTCY8AHPLIj69j9qa66naY61r+
iDcJ7I/3Jk4IQu/xYC/Ov5B933XO6r+U6SOoR/GVf1dKAlMS2SKwp2zMmoAgMIykm
Wv+TqGqAGBXg3AhWACLIJFZzu2+nsKj2a5NSBa5K9WqFmq2I92nyhStaKwRVUX
XUjGAMbSQdWa23fDL9O8eLGGTuBDAnLK1RcsF+kzT54NUOkd7HrZ lz@***.com
然后,我们把公钥交给另一台服务器,当本机去远程连接另一台服务器时,另一台服务器会使用公钥与本服务器的私钥配对,如果配对成功,就能连接成功。
那么,我们具体应该怎样操作呢?
请从如下几个方面考虑!
1. 确认.ssh目录权限必须是700
该目录的地址:
~/.ssh
注意,这是一个目录,不是一个文件呦。
该文件的地址:
~/.ssh/authorized_keys
注意,尽管没有后缀名,但这是一个文件呦。
3. 修改StrictModes属性
默认StrictModes属性是 yes,需要修改成 no。
该文件的地址:
/etc/ssh/sshd_config
同样,它也是一个文件哈。
4. 启用AuthorizedKeysFile配置
配置项AuthorizedKeysFile默认是注释的,需要取消注释。
该文件的地址:
/etc/ssh/sshd_config
5. 重启ssh服务
执行如下命令来重启ssh服务:
service sshd restart
然后,重试ssh登陆命令。
6. 终极大招
执行如下命令:
ssh-copy-id root@172.31.*.123
结尾
好了,通过上面的六个步骤基本上个就可以解决服务器免密登录的问题了。这样,我们在后期运营和维护公司的服务器时,就不会那么麻烦啦,哈哈。