咬牙买了个阿里云服务器,第二天就短信邮件通知你,有恶意登录。安全隐患2个,第一22端口易被扫描,SSH登录请修改端口,这个还好解决,改就是了;第二是请关闭用户密码登录方式,不安全。what???!!省吃俭用租个服务器还被人偷偷摸摸登录上去玩,怎么办。接下来介绍如何配置,使用公钥登录,免除账号密码泄露的隐患。
1,首先需要用XSHELL生成导出自己的公钥和私钥。 2, useradd username,创建一个新的用户 3, cd /home/username,进入用户的主目录 4, mkdir .ssh(若存在,可不创建)创建.ssh文件夹,注意,有一个.的 5, chmod 700 /home/username/.ssh 分配好权限 5,进入新建的.ssh文件夹
cd .ssh
rz(上传公钥,没有rz命令,运行yum install lrzsz安装)公钥就是第一步用xshell导出的.pub文件 6, cat username.pub >> authorized_keys 7, chmod 600 authorized_keys 8, chown -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