众所周知,服务器的安全一直是运维的心头之患,所谓数据无价可不是瞎说的。
从Web shell到Root爆破,无疑,倘若拿到了登陆权限,你便能立即体会到数据物价。
此篇笔记以CentOS 6来详细记录如何为Linux配置SSH密钥登录。
环境:
- PuTTY
- WinSCP
- CentOS 6
步骤:
ssh-keygen -t rsa #-t
指定密钥类型;如果没有指定默认生成用于SSH-2的RSA密钥
依次输入保存位置、密码、确认密码即完成密钥生成
检查密钥文件:
由于在测试中发现root用户下并没有.ssh文件夹,在生成密钥文件后直接生成到了当前文件夹下,并没有直接生成到/root/.ssh/文件夹下,所以在生成密钥文件后进行检查并设置权限。
若当前文件夹下有密钥文件,则证明/root/
下没有.ssh
文件夹,后期需要创建此文件夹;
若当前文件夹下没有密钥文件,则应该到/root/.ssh/
下检查是否有密钥文件;
ls
#查看当前文件夹下是否有密钥文件
若有密钥文件则执行以下:
mkdir /root/.ssh/
#创建密钥文件夹
mv rsa.pub /root/.ssh/authorized_keys
#移动文件到密钥文件夹下并更名
若没有密钥文件则执行以下:
mv /root/.ssh/rsa.pub /root/.ssh/authorized_keys
#更名
服务器最后配置:
chmod 644 /root/.ssh/
#设置权限
注意:在此时进行处理私钥的第一步(下载文件到本地)
因为在下边的操作中会取消掉密码登录,如果不在此时将私钥文件保存至本地,将无法再登录服务器
vi /etc/ssh/sshd_config
#用vi打开配置文件
PasswordAuthentication
修改为no #关闭密码登录
esc
:wq!
保存退出
/etc/rc.d/init.d/sshd restart
#重启
处理私钥:
使用WinSCP将私钥文件下载至本地:
打开-工具-导入站点-从PuTTY导入即可
找到私钥文件下载至本地
打开PuTTYgen:
导入私钥文件可能会要求输入私钥密码,此密码是在服务器执行
ssh-keygen -t rsa
要求输入的密码成功打开文件后点击
Save private key
即可保存密钥文件
设置PuTTY:
切换到回话保存即可
注意:
在生成密钥文件时可不填写密码,在后续中不再使用密钥密码即可实现无密码登录
设置权限务必644或600,保证当前用户有读写权限,不能设置777
务必注意文件名,ssh和sshd是不一样的
配置完成后要尝试用密码登录,如果报错说明配置成功