SSH密钥登录让Linux VPS/服务器更安全

2016-03-31 16:17 17 1 收藏

人生本是一个不断学习的过程,在这个过程中,图老师就是你们的好帮手,下面分享的SSH密钥登录让Linux VPS/服务器更安全懂iphone的网友们快点来了解吧!

【 tulaoshi.com - 服务器 】

SSH密钥登录让Linux VPS/服务器更安全

   随着PHP越来越流行,Linux VPS/服务器的使用也越来越多,Linux的安全问题也需要日渐加强,如果你安装过DenyHosts并设置过邮件提醒,你每天可能会受到数封DenyHosts Report将前来破解SSH密码的IP加入/etc/hosts.deny。

  Linux SSH登录有两种:

  1、使用密码验证登录

  通常VPS或服务器开通后都是直接提供IP和root密码,使用这种方式就是通过密码方式登录。如果密码不够强壮,而且没有安装DenyHosts之类的防止SSH密码破解的软件,那么系统安全将存在很大的隐患。

  2、使用密钥验证登录

  基于密钥的安全验证必须为用户自己创建一对密钥,并把共有的密钥放在需要访问的服务器上。当需要连接到SSH服务器上时,客户端软件就会向服务器发出请求,请求使用客户端的密钥进行安全验证。服务器收到请求之后,先在该用户的根目录下寻找共有密钥,然后把它和发送过来的公有密钥进行比较。如果两个密钥一致,服务器就用公有的密钥加密质询,并把它发送给客户端软件(putty,xshell等)。客户端收到质询之后,就可以用本地的私人密钥解密再把它发送给服务器,这种方式是相当安全的。

  一、生成密钥

  因为puttygen生成的密钥有问题可能会出现:Server refused our key,最好使用XShell生成密钥或者在远程Linux VPS/服务器生成密钥。

  1、在Linux远程服务器生成密钥:

  登录远程Linux VPS/服务器,执行:

  root@vpser:~# ssh-keygen -t rsa //先运行这个命令

  Generating public/private rsa key pair.

  Enter file in which to save the key (/root/.ssh/id_rsa): //直接回车

  Created directory ‘/root/.ssh’.

  Enter passphrase (empty for no passphrase): //输入密钥密码

  Enter same passphrase again: //重复密钥密码

  Your identification has been saved in /root/.ssh/id_rsa. //提示公钥和私钥已经存放在/root/.ssh/目录下

  Your public key has been saved in /root/.ssh/id_rsa.pub.

  The key fingerprint is:

  15:23:a1:41:90:10:05:29:4c:d6:c0:11:61:13:23:dd root@vpser.net

  The key’s randomart image is:

  +–[ RSA 2048]-+

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/fuwuqi/)

  |=&@Bo+o o.o |

  |=o=.E o . o |

  | . . . |

  | . |

  | S |

  | |

  | |

  | |

  | |

  +–+

  root@vpser:~#

  将/root/.ssh/下面的id_rsa和id_rsd.pub妥善保存。

  2、使用XShell生成密钥

  Xshell是一款Windows下面功能强大的SSH客户端,能够按分类保存N多会话、支持Tab、支持多密钥管理等等,管理比较多的VPS/服务器使用XShell算是比较方便的,推荐使用。

  下载XShell,安装,运行XShell,点击菜单:Tool -User Key Generation Wizard,出现如下提示:

SSH密钥登录让Linux VPS/服务器更安全 图老师

  点击Save as file将密钥保存为id_rsa.pub。

  二、将密钥添加到远程Linux服务器

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

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

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

  三、客户端测试使用密钥登录

  1、使用putty登录

  putty使用的私钥文件和Linux服务器或XShell的私钥格式不同,如果使用putty的话,需要将Linux主机上生成的id_rsa文件下载的本地。运行putty压缩包里面的puttygen.exe,选择Conversions-Import key选择私钥文件id_rsa,输入密钥文件的密码,会出现如下界面:

  点击Save Private Key,将私钥保存为id_rsa.ppk

  运行putty,在Host Name填写:root@主机名或ip

  如果设置了密钥密码,出现:Passphrase for key imported-openssh-key时输入密钥密码。

  如果设置没问题就会登录成功,出现用户提示符。

  2、XShell登录

  运行XShell,选择菜单File-New,按如下提示填写:

  打开创建好的Session

  如果设置没问题就会登录成功,出现用户提示符。

  3、Linux客户端登录测试

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/fuwuqi/)

  在Linux客户端执行:chmod 600 /root/id_rsa 再执行:ssh root@www.vpser.net -i /root/id_rsa /root/id_rsa为私钥文件,第一次链接可能会提示确认,输入yes即可,再按提示输入密钥密码,没有问题就会出现用户提示符。

  四、修改远程Linux服务器sshd服务配置

  1、修改/etc/ssh/sshd_config 文件

  将PasswordAuthentication yes 修改成 PasswordAuthentication no

  2、重启sshd服务

  Debian/Ubuntu执行/etc/init.d/ssh restart ;CentOS执行:/etc/init.d/sshd restart。

  ok,设置完成。

  再提醒一下一定要保存好Putty私钥文件id_rsa.ppk或Linux服务器下载下来的id_rsa私钥文件

来源:https://www.tulaoshi.com/n/20160331/2052185.html

延伸阅读
标签: 电脑入门
怎样修改远程服务器的密码,但是该网友未提供自己的系统版本,这里下文以windows系统为准,文末附带linux系统修改方法 远程服务器自然不方便用家里的ctr-ali-del组合,命令行又长的有点吓人。 其实操作很简单的,计算机管理--本地用户和组--用户,添加新用户,然后设置成用户隶属于administrators组就行了。 或者,不隶属于administrators组...
标签: 服务器
新版远程登录云服务器   选择一台处于运行中的,带外网IP地址的云服务器。 选择更多按钮中的远程登录。 请按照远程登录对话框的提示进行登录
如果你的Linux服务器被非受权用户接触到(如服务器放在公用机房内、公用办公室内),那么它的安全就会存在严重的隐患。 使用单用户模式进入系统 Linux启动后出现boot:提示时,使用一个特殊的命令,如linuxsingle或linux 1,就能进入单用户模式(Single-User mode)。这个命令非常有用,比如忘记超级用户(root)密码。重启系统,在boot:提...
标签: 服务器
在Windows下通过密钥认证机制连接Linux服务器的方法   SSH服务支持一种安全认证机制,即密钥认证。所谓的密钥认证,实际上是使用一对加密字符串,一个称为公钥(public key), 任何人都可以看到其内容,用于加密;另一个称为密钥(private key),只有拥有者才能看到,用于解密。 通过公钥加密过的密文使用密钥可以轻松解密,但根据公钥...
标签: 电脑入门
VPS账号如果泄露,其损失是非常之大的,那么要如何来增强VPS SSH账号的安全性呢?下面图老师小编就给大家介绍下保护VPS账号的两大方法,即修改SSH登陆端口和禁止ROOT登陆,一起来了解下吧。 修改SSH登陆端口 修改文件:/etc/ssh/sshd_config Port 22 #在第三行或第四行,如果前面有井号,请删除,修改为65534以下即可 可在远程连接中...

经验教程

957

收藏

39
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部