密钥登陆Linux服务器
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服务器的更多相关文章
- 通过SSH服务登陆linux服务器(版本RHEL7)
通过SSH服务登陆linux服务器(版本RHEL7) SSH服务概述:是一种能够以安全的方式提供远程登陆的协议,也是目前远程管理linux系统的首选方式.在此之前,我们一般使用FTP或者telnet来 ...
- 在linux终端远程登陆linux服务器
在linux终端远程登陆linux服务器 原来在Linux终端远程登陆linux服务器是那么的容易,如果的服务器用户名是abc(也可以是root),只需要在终端输入: 然后电脑会提示输入密码就登录 ...
- SecureCRT上使用公钥登陆Linux服务器
SecureCRT部分配置 1.首先生成公钥. 打开SecureCRT(我的版本为7.0,估计其他版本基本相同)程序,点击菜单栏的“工具”->“创建公钥”.按照步骤执行.其中一步比较重要就是选择 ...
- xshell使用密钥登陆linux
一.环境CentOS 7.4xshell 6 二.介绍远程ssh连接服务器 默认是用的密码验证的方式,而且还是root账号,这样的验证方式会有安全隐患,容易被人暴力破解root密码.如果改成用密钥登陆 ...
- 使用ssh公钥密钥自动登陆linux服务器
转自:http://7056824.blog.51cto.com/69854/403669 作为一名 linux 管理员,在多台 Linux 服务器上登陆进行远程操作是每天工作的一部分.但随着服务器的 ...
- [zz] 使用ssh公钥密钥自动登陆linux服务器
目录 .生成密匙对 .拷贝公匙到远程机 .启动登陆代理 这种方法处理后每次需要运行命令:ssh-add ~/.ssh/id_dsa 作为一名 linux 管理员,在多台 Linux 服务器上登陆进行远 ...
- ssh登陆linux服务器 实际场景讲解 让你管理服务器更安全
很多时候我们管理linux系统,都谁使用ssh登陆,因为都知道ssh是加密传输的协议的,可以有效保证我们与 服务器之间的数据通信安全.但是我们忽略了一点,但是登陆的时候我们是输入的账号和密码,这一点其 ...
- 批处理程序:自动上传FTP,再登陆linux服务器执行更新
----转载请注明出处:博客园-邦邦酱好 最近在学批处理程序,一直没找到能够结合工作来使用它的地方,前几天测试服务端的时候突然想到可以这样做: 写一个批处理程序,自动通过FTP上传软件包到指定的地方, ...
- 在PHP中调用php_ssh实现远程登陆linux服务器并执行shell脚本。
这个功能主要用于在web端利用程序对远程服务器进行操作,通过PHP_ssh执行shell脚本来实现. 首先要安装php_ssh2组件,linux中centos7下有ssh2源,直接安装.window下 ...
随机推荐
- iTextSharp操作pdf之pdfCreater
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- NOIP模拟赛 城市
题目描述 $ZZQ$ 是一国之主. 这个国家有$N$个城市, 第$i$个城市与第$(i + 1) (mod N)$和$(i - 1) (mod N)$在一个正$N$边形相连. $ZZQ$ 又新建了$N ...
- github--403错误
错误信息如下: $ git push origin master error: The requested URL returned error: while accessing https://gi ...
- 关于ORA-04091异常的出现原因,以及解决方案
问题分析 在Oracle中执行DML语句的时候是需要显示进行提交操作的.当我们进行插入的时候,会触发触发器执行对触发器作用表和扩展表的种种操作,但是这个时 候触发器和插入语句是在同一个事务管理中的,因 ...
- angular项目中使用jquery的问题
1.使用npm命令往项目中添加jQuery. npm install jquery --save 2.在你想要用jQuery的组件中添加. import * as $ from "jquer ...
- Mysql授权允许远程访问
MySQL Community Edition(GPL) 在我们使用mysql数据库时,有时我们的程序与数据库不在同一机器上,这时我们需要远程访问数据库.缺省状态下,mysql的用户是没有远程访问的权 ...
- 看看PHP迭代器的内部执行过程
class myIterator implements Iterator { private $position = 0; private $array = array( "first_el ...
- 数据库连接池(c3p0与druid)
1.数据库连接池概念 其实就是一个容器(集合),存放数据库连接的容器.当系统初始化好后,容器被创建,容器中会申请一些连接对象,当用户来访问数据库时,从容器中获取连接对象,用户访问完之后,会将连接对象归 ...
- Django的自带认证系统——auth模块
Django自带的用户认证 auth模块 from django.contrib import auth 备注:使用auth模块时,我们默认使用Django提供的auth_user表,创建数据时,可以 ...
- LINUX下PHP编译添加相应的动态扩展模块so(不需要重新编译PHP,以openssl.so为例)
本文转自:原文链接 http://www.cnblogs.com/doseoer/p/4367536.html 网上我看到有很多相关的文章都是简述这个问题的,但毕竟因为LINUX版本众多,很多LIU ...