Linux下直接用密码登陆是非常不安全的,为什么这么说呢,因为我被无情的攻击了。root密码被黑,服务器被挂马。

朋友建议说禁用密码登陆,改用密钥的方式,能提高安全性。于是乎,做了如下笔记。

1. 生成公钥和私钥

ssh-keygen -t rsa
//会让你选择文件存放,此处可直接回车,用默认值
//然后会选择是否用密码(密钥的密码),可以随便设置一个简单的,记住即可

默认在 ~/.ssh目录生成两个文件:
id_rsa      :私钥
id_rsa.pub  :公钥

2. 把id_rsa(私钥)复制到本地

怎么弄过来自己看着办,反正我是用winscp拖过来的。

3. 导入公钥到认证文件

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

4. 修改目录及密钥文件权限

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

5. 禁用密码登陆

修改/etc/ssh/sshd_config文件(注意是sshd_config,不是ssh_config)。

将PasswordAuthentication yes 改为 PasswordAuthentication no

6. 重启sshd

service sshd restart

搞定,这样就没办法用密码登陆了,保存好密钥文件就行了。