文章都可以转载、引用,标明转载出处即可。

Linux配置密钥远程登录

Linux基础 Mr.c 1536℃ 0评论

自己公司的一台独立服务器上周遭遇病毒入侵,查到是获取了root权限直接ssh登录到服务器上了,把我给吓的呀,然后请大神帮忙教自己处理了对外发包的病毒,自己也加强了安全防护,直接关闭了ssh远程密码验证,强制为密钥验证方式登录。
配置密钥登录的方法很简单,过程不外乎:

开启sshd服务的密钥验证功能;
生成密钥;
添加密钥到账户的authorized_keys 文件中授权;
保存私钥和公钥到本地电脑添加到SSH客户端软件;
本地测试密钥登录成功后,关闭sshd服务的密码验证;

1.开启密钥登录:

vim  /etc/ssh/sshd_config 
将以下三行配置文件前的注释取消,然后保存重启sshd服务
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys
[root@cnyunwei ~]# service sshd restart

2.生成用户密钥文件

[root@cnyunwei ~]#ssh-keygen -t rsa
连续三次回车即可,ssh-keygen 有三种加密方法,rsa只是其中一种,详解和用法可以自行搜索下。
然后进入到用户家目录.ssh 目录中可以看到生成了两个文件
[root@cnyunwei  .ssh] ll  /root/.ssh
total 8
-rw------- 1 root root 1675 Sep  7 13:18 id_rsa
-rw-r--r-- 1 root root  393 Sep  7 13:18 id_rsa.pub
id_rsa 是用户私钥文件,id_rsa.pub 即为公钥文件

3.导入公钥文件id_rsa.pub 到 authorized_keys 进行授权:

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

4.下载密钥文件id_rsa 和id_rsa.pub 到本地电脑上妥善保存,添加到ssh客户端(个人喜欢使用xshell )
sshd_miyue
5.测试了使用密钥能够SSH登陆后可以再次编辑/etc/ssh/sshd_config 文件,关闭密码验证。
千万得确认能够使用密钥文件登陆到服务器才能关闭密码验证,不然就没法远程了。

[root@cnyunwei  .ssh] vim  /etc/ssh/sshd_config 
#把 PasswordAuthentication yes 改成noPasswordAuthentication no
PasswordAuthentication no
保存退出,重启sshd服务

现在已经配置完成,为了安全考虑最好是从服务器上删除刚才生成的两个密钥文件id_rsa 和id_rsa.pub

转载请注明:菜鸟运维 » Linux配置密钥远程登录

喜欢 (1)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址