linux服务器禁用root账户密码登录,只能采用密匙登录,加强系统安全

关于ssh的安全问题,首先要修改ssh端口,修改方法很简单,vi /etc/ssh/sshd_config 修改配置文件中的prot 22为你想用的端口,建议大于10000

除此之外,root账户一定要设置私匙登录!!!

昨天收到阿里云的短信提示,我的某个云服务器在绵阳登录过。。。看来有不法之徒在乱搞了
也怪自己,这个linux服务器上没有放什么重要的服务,所以没怎么管,一直用来做为翻墙跳板和不太重要的网站
但是,如果数据丢了也挺可惜的。。马上换私匙登录


新建公匙及私匙

ssh-keygen -t rsa

一定要给私匙设置密码

此时在/root/.ssh/目录下生成了2个文件,id_rsa为私钥,id_rsa.pub为公钥。
私钥自己下载到本地电脑妥善保存(丢了服务器可就没法再登陆了),然后,删除服务器端的私钥
公钥则可以任意公开。

将公钥导入到authorized_keys

cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys

若同时要修改ssh端口,请注意先检查iptable的规则设置,某些主机商防火墙默认启动
修改SSH的配置文件/etc/ssh/sshd_config

vi /etc/ssh/sshd_config

然后“/内容”搜索到以下配置文件
(1)启用私匙登录
删除配置文件中注释符号#

#RSAAuthentication yes
#PubkeyAuthentication yes
#AuthorizedKeysFile .ssh/authorized_keys

修改为:

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

(2)禁用root账户口令密码登录

PasswordAuthentication yes

修改为

PasswordAuthentication no

修改完ssh配置文件后,重启服务
centos7以下系统:

service sshd restart

centos7:

systemctl restart sshd.service