-----------------------

问题起源: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、这里可以实现原始的账号+密码方式登录,进行文件修改操作。(只要能进入系统,什么都好说。)

Logo

助力广东及东莞地区开发者,代码托管、在线学习与竞赛、技术交流与分享、资源共享、职业发展,成为松山湖开发者首选的工作与学习平台

更多推荐