使用公钥登录服务器

咬牙买了个阿里云服务器,第二天就短信邮件通知你,有恶意登录。安全隐患2个,第一22端口易被扫描,SSH登录请修改端口,这个还好解决,改就是了;第二是请关闭用户密码登录方式,不安全。what???!!省吃俭用租个服务器还被人偷偷摸摸登录上去玩,怎么办。接下来介绍如何配置,使用公钥登录,免除账号密码泄露的隐患。

1,首先需要用XSHELL生成导出自己的公钥和私钥。

2,  useradd username,创建一个新的用户

3,  cd /home/username,进入用户的主目录

4mkdir .ssh(若存在,可不创建)创建.ssh文件夹,注意,有一个.的

5chmod 700 /home/username/.ssh 分配好权限

5,进入新建的.ssh文件夹
cd .ssh

  rz(上传公钥,没有rz命令,运行yum install lrzsz安装)公钥就是第一步用xshell导出的.pub文件 6cat username.pub >> authorized_keys 7chmod 600 authorized_keys 8chown -R username:username /home/username/.ssh(使用ll命令看到authorized_keys和username.pub的所有者均为username,否则连接会出现提示“所选用户未在远程计算机注册”) 9, 给用户配置sudo权限 a) 运行命令visudo -f /etc/sudoers,编辑文件; b) 找到## Same thing without a password,将下面一行的注释符号“#”删除,开放wheel组可以使用sudo
        如:
## Same thing without a password
 %wheel ALL=(ALL)       NOPASSWD: ALL

 



c)         使用
usermod -g wheel username

 

,将username加入wheel用户组,即可以使用sudo命令



如果需要替换已有用户的公钥:
1,进入用户.ssh目录
cd /home/username/.ssh
2,删除原有的authorized_keys
rm -rf authorized_keys

 3,替换公钥,如果rz命令上传失败的话,那就用XFTP等上传工具上传覆盖即可。

 4,依次执行一下命令

cat username.pub >> authorized_keys

chmod 600 authorized_keys

chown -R username:username /home/username/.ssh

 

以上,完成替换用户公钥。用户使用新的私钥登录即可。

 

 

 

是不是很简单,这样就可以用公钥登录啦,再也不怕账号密码泄露。还可以细分用户的权限(使用sudo才可以获取高权限),避免普通用户误操作。

 

 

补充,阿里云为了安全,建议禁止root直接ssh登录的,处理如下:

编辑/etc/ssh/sshd_config文件,PermitRootLogin yes改为PermitRootLogin no,然后重启service sshd restart。

vim /etc/ssh/sshd_config

PermitRootLogin yes
改为
PermitRootLogin no


service sshd restart

 

posted @ 2017-12-05 11:57  村长叫我返去扒龙船  阅读(722)  评论(0编辑  收藏  举报