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。

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

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

转载于:https://www.cnblogs.com/assassin1994/p/4661878.html

密钥登陆Linux服务器相关推荐

  1. winscp用密钥连接linux服务器和java程序用密钥连接服务器

    一.winscp用密钥连接linux服务器 第一步,生成ssh公钥密钥对: 使用Tera Term登录进服务器(这时候先用用户名和密码登录), #ssh-keygen -t rsa cd进入进入/ro ...

  2. 如何限制IP,通过SSH登陆linux服务器

    如何限制IP,通过SSH登陆linux服务器 方法一: 在/etc/hosts.allow中添加允许ssh登陆的ip或者网段     sshd:192.168.1.2:allow 或者 sshd:19 ...

  3. 在linux终端远程登陆linux服务器

    2019独角兽企业重金招聘Python工程师标准>>> 在linux终端远程登陆linux服务器 原来在linux终端远程登陆linux服务器是那么的容易,如果的服务器用户名是abc ...

  4. 如何在SecureCRT上使用公钥登陆Linux服务器

    我以前一直使用口令通过ssh协议登陆Linux服务器,最近公司要求使用公钥登陆.说是安全,好吧.那我们整一下.那到底使用公钥登陆服务器有什么好处呢?其实我理解是这样的: 当我们创建了公钥和私钥(这是一 ...

  5. 如何用私钥登陆linux服务器和cyberduck登陆配置

    一.用私钥登陆linux服务器 1. 修改私钥文件的权限为500 chmod 500 id_rsa.tianlab 2. 登陆命令中 要加上 -i 参数,完整命令如下 ssh -i /yourpath ...

  6. 如何远程登陆Linux服务器

    01.SSH介绍 ssh是专门为远程登陆提供安全的协议,SSH的默认端口号为22 终端命令组成: ssh [-p port] user@remote port是SSH 的端口号,默认值22 user指 ...

  7. [zz] 使用ssh公钥密钥自动登陆linux服务器

    目录 1.生成密匙对 2.拷贝公匙到远程机 3.启动登陆代理 这种方法处理后每次需要运行命令:ssh-add ~/.ssh/id_dsa 作为一名 linux 管理员,在多台 Linux 服务器上登陆 ...

  8. 利用Xshell实现非对称秘钥对安全登陆linux服务器(Centos、Ubuntu)

    非对称加密算法简述: 对称加密算法在加密和解密时使用的是同一个秘钥:而非对称加密算法需要两个密钥来进行加密和解密,这两个秘钥是公开密钥(public key,简称公钥)和私有密钥(private ke ...

  9. 使用windows10内置的OpenSSH密钥登录Linux服务器

    Windows10 中加入了OpenSSH客户端,可以直接利用自带的SSH客户端连接服务器. 安装 1.设置-->应用和功能-->可选功能 2.在"添加功能"添加Ope ...

最新文章

  1. 判断一个数是否是2的倍数----------面试算法
  2. gulp-rev:项目部署缓存解决方案----gulp系列(六)
  3. Python实现进程同步和通信
  4. 防病毒插件更新失败!?
  5. bs架构 erp 进销存_从应用架构看生鲜电商信息化建设
  6. matlab 性能分析方法,DPCM,PSK系统的MATLAB实现及性能分析
  7. python创建类和类方法
  8. java persistence.xml_java – 找不到persistence.xml
  9. macbook硬盘读写速度测试(Disk Speed Test 测速贴图)
  10. 上传Android library到JitPack
  11. 固态硬盘量产工具_固态硬盘测速工具CDM更新8.0版,但我们不推荐你使用
  12. 讨论BUCK、BOOST、BUCK-BOOST电路CCM模式下的设计参数计算
  13. el-upload 上传 照片墙上传照片,上传一张之后,上传框就消失
  14. GIS100-02 ArcGIS提取道路中心线
  15. 操作系统期末实验:多用户二级文件系统
  16. T00ls内部旁注扫描器.rar
  17. ORACLE EBS常用表及查询语句(二)
  18. vulnhub THE PLANETS: EARTH
  19. 计算机考试不及格的检讨,考试不及格的检讨书(精选10篇)
  20. Java 字段在内存中存储是大端还是小端

热门文章

  1. Codis 3.x 部署安装
  2. Spring MVC:使用SimpleUrlHandlerMapping的一个简单例子
  3. RPM方式安装MySQL5.6和windows下安装mysql解压版
  4. PHP 字符串替换 substr_replace 与 str_replace 函数
  5. Hacking Team Flash 0day漏洞学习笔记
  6. python代码 程序员编程艺术 2.1
  7. myeclipse启动错误:org.eclipse.swt.SWTError: No more handles
  8. 【哲学】罗素《哲学问题》,把我从怀疑派拉回来,本能信仰
  9. 如何修改VC6的项目名
  10. 域用户配置文件的漫游配置