ssh密钥登录linux
-----------------------问题起源:There were 16753 failed login attempts since the last successful login.问题所在:由于没有配置登录限制,都是使用ssh的密码登录的,所以服务器容易受到攻击。-----------------------准备工作:了解ssh,由于之前了解过ssh,直接百度获取...
-----------------------
问题起源:There were 16753 failed login attempts since the last successful login.
问题所在:由于没有配置登录限制,都是使用ssh的密码登录的,所以服务器容易受到攻击。
-----------------------
准备工作:了解ssh,由于之前了解过ssh,直接百度获取想要的信息。(个人比较健忘,只知道大概命令和处理方式,实际操作还是要查资料)
- 1、生成ssh秘钥对
由于我是在window系统生成的秘钥对,而window系统不支持ssh-keygen命令,还好window安装了git,git命令中支持这个,可以使用git bash命令行。
基本命令:
ssh-keygen -t rsa
执行完这个命令后,会在git命令行文件夹里生成两个文件id_rsa(私钥)、id_rsa.pub(公钥),(如果在linux系统中),则生成在当前用户的根目录中,如root/.ssh/文件夹中,(注意.ssh文件夹是隐藏的,习惯使用命令:ll,无法查看,需使用:ls -la)。
tips:顺便了解了ssh-keygen参数说明,附上链接https://www.cnblogs.com/sunjf/p/ubutu_ssh.html,
优化一下生成语句:
ssh-keygen -t rsa -C "公钥内容注释" -f "生成的文件名"
- 2、将公钥拷贝到要免登陆的机器上
使用rz命令上传id_rsa.pub到/home中,
执行
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
把id_rsa.pub追加到authorized_keys文件中(注意文件路径)。
- 3、需要为公钥目录和密钥文件本身设置权限
chmod 700 .ssh
chmod 600 .ssh/authorized_keys
- 4、ssh服务端配置sshd_config
vim /etc/ssh/sshd_config
#禁用SSH密码验证
PasswordAuthentication no
5、重新启动SSH服务
systemctl restart sshd
6、登录,使用的是Xshell 工具(本来想使用 ssh -i id_rsa root@<ssh_server_ip>登录的,结果不行,只能使用工具了。直接打开,无需输入密码,结果成功。
)
===========================================
这样还是没起到安全防护,需添加受限用户帐户
- 1、添加账号,创建用户lris,您想要的用户名,并指定密码:
useradd lris && passwd lris
添加一个admin组
groupadd admin
将lris添加到admin组中
usermod -g admin lris
为lris用户设定sudo权限
vim /etc/sudoers
中找到root ALL=(ALL) ALL,在下行添加
lris ALL=(ALL) ALL
- 2、创建并发送ssh秘钥对
cat /home/id_rsa.pub >> /home/lris/.ssh/authorized_keys
- 3、改变文件权限
#/home/.ssh sudo chown root:root authorized_keys sudo chmod 700 .ssh sudo chmod 600 .ssh/authorized_keys
- 4、ssh服务器配置如下
vim /etc/ssh/sshd_config #禁用root账户登录 PermitRootLogin no #禁用密码登录 PasswordAuthentication no
5、重启ssh服务器
------------------------------------------------
出现问题登录不了,解决办法,
1、登录,浏览器 VNC 方式登录
2、这里可以实现原始的账号+密码方式登录,进行文件修改操作。(只要能进入系统,什么都好说。)
更多推荐
所有评论(0)