SSH密钥登录让VPS下centos服务器更安全

使用putty生成密钥和登陆

根据公钥认证的原理(见后面说明),认证双方任何一方都可制作该钥匙对,并且只要认证方有被认证方的公钥信息,即可匹配成功。

这里,我们先以Windows上的putty登陆Linux服务器为例说明。所以,该密钥对由putty制作。

继续前,请确保您已经把整个putty包都下载完:

其中包括:PuTTY、Puttygen、PSCP、Plink、Pagent 等工具。

1、使用puttygen制作密钥

启动puttygen工具,为兼容OpenSSH密钥,选择“SSH2 RSA”:

  单击 生成 按钮,并使用鼠标在 空白区域内移动,以获得足够的随机数据供生成密钥使用:

  ※期间,那我们要移动鼠标,直到进度条走满为止。

完成后的窗口如下:

  其中:

密钥注释:不会影响密钥的有效性,但可作为自己用于区别其他密钥的参考;

两次输入密钥密码

随后,点击 保存私钥 。

如果没有输入密钥密码,会有警告:

  输入私钥的文件名:

  ※公钥信息可以不用保留在本地的,puttygen可以从私钥得到它,验证时也不会用到。

2、拷贝公钥信息

公钥信息:

  需要把该信息拷贝到Linux服务器的特定文件中:~/.ssh/authroized_keys

将id_rsa.pub文件上传到/root/.ssh/下面(如果没有则创建此目录),并重命名为:authorized_keys(如果是在Linux服务器上生成的密钥直接执行:mv /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys),再执行:chmod 600 /root/.ssh/authorized_keys 修改权限。

修改/etc/ssh/sshd_config 文件,将RSAAuthentication 和 PubkeyAuthentication 后面的值都改成yes ,保存。

重启sshd服务,Debian/Ubuntu执行/etc/init.d/ssh restart ;CentOS执行:/etc/init.d/sshd restart。

※请务必留意:文件和目录的权限问题,用户必须是将要进行认证的用户,而权限必须是0600,也就是禁止其他人对该文件写入信息。(否则,某些有心人把自己的公钥写入这里,他也可以无密码进来了)

因为,通常umask是0022或0002的,所以请使用chown和chmod修改为对应的权限咯。

4、使用putty使用密钥登陆

对putty进行一些简单配置,即可使用密钥登陆Linux服务器。

选择SSH—认证,选择刚保存的私钥文件

  然后点击打开即可

基于密钥认证的配置

# vi /etc/ssh/sshd_config

PasswordAuthentication no //禁止使用基于口令认证的方式登陆

PubkeyAuthentication yes //允许使用基于密钥认证的方式登陆

# /etc/init.d/sshd reload

文章如转载,请注明来源:谯银博客,本文链接: http://www.qiaoyin.vip/419.html

评论已关闭!