码迷,mamicode.com
首页 > 系统相关 > 详细

密钥登陆Linux服务器

时间:2015-07-20 18:50:48      阅读:196      评论:0      收藏:0      [点我收藏+]

标签:

Linux VPS/服务器的使用越来越多,Linux的安全问题也需要日渐加强。我们远程线上的服务器,通常是通过密码方式(ip+帐号+密码,可能还多一个ssh端口)登录,如果密码不够强壮,那么系统将是灰常不安全的。

下面介绍一种密钥验证登录的方式:

使用密钥验证登录

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

 

一.生成密钥

1.登录远程Linux  VPS/服务器,执行:ssh-keygen -t rsa 

Generating public/private rsa key pair.

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

Enter passphrase (empty for no passphrase):                                    //输入密钥密码(如果不设置,请直接回车。强烈建议输入1个密码- -)

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

2、将~/.ssh/id_rsa.pub复制到~/.ssh/authorized_keys,并修改权限。

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

chmod 600 ~/.ssh/authorized_keys    

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

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

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

1、XShell登录

①把服务器的~/.ssh/id_rsa文件下载到本地。

 技术分享

技术分享

 技术分享

 

2、SecureCRT登录

①把服务器的~/.ssh/id_rsa文件下载到本地。

 技术分享技术分享

3、Linux客户端登录测试

①、把服务器的~/.ssh/id_rsa文件弄到linux客户端上,并重命名为rsa_for_55. (~/rsa_for_55)。

②、在Linux客户端执行:chmod 600 ~/rsa_for_55 

      再执行:ssh yang@192.168.1.55 -i  ~/rsa_for_55 

       第一次链接可能会提示确认,输入yes即可,再按提示输入密钥密码,没有问题就会出现用户提示符。

三、停用密码验证登录方式(前面都ok了,就把密码验证给取消吧)

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

将PasswordAuthentication yes 修改成 PasswordAuthentication no

2、重启sshd服务

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

 

--------------------

这样,需要同时依靠密钥和密码,才能登录服务器,安全又上升一个等级,有木有。。。

密钥登陆Linux服务器

标签:

原文地址:http://www.cnblogs.com/assassin1994/p/4661878.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!