SSH远程证书登陆是使用"公私钥"认证的方式来进行SSH登录。

1、创建公私钥

创建方式有很多种,比如说通用ssh连接工具创建,然后把公钥上传到Server主机对应的用户目录下:

~/.ssh/authorized_keys  

大家可以参考这里:http://www.aiezu.com/system/linux/xshell_ssh_public-key_login.html

这里我使用服务器自带的openssh来创建,以root用户为例:  

//检查是否安装了openssh服务
rpm -qa|grep openssh //创建公私钥
ssh-keygen -t rsa

  执行上边的语句后,开始进入引导设置:

Generating public/private rsa key pair.
//创建ssh目录,直接回车
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.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
74:4a:c7:28:26:06:20:7d:62:40:8b:2e:fa:14:a8:1b root@localhost.localdomain
The key's randomart image is:
+--[ RSA 2048]----+
|==. |
|o =.. o |
|.o oo o + + |
|.. . o + + |
|o.. S |
|+ . |
|E . |
| = |
|. . |
+-----------------+ //结束

  执行上边的方法,我们的公私钥便创建完成啦,可以查看一下:

[root@localhost ~]# ls ~/.ssh/
id_rsa id_rsa.pub //id_rsa id 为私钥
//id_rsa.pub 为公钥

2、服务器配置

//打开配置文件
vim /etc/ssh/sshd_config

  修改相应节点:

//启用 RSA 认证
RSAAuthentication yes
//启用公钥私钥配对认证方式
PubkeyAuthentication yes
//公钥文件路径
AuthorizedKeysFile .ssh/authorized_keys
//禁用密码登陆
PasswordAuthentication no

  通过上边的设置可以看出公钥存储在 authorized_keys 文件里,我们需要将第一步生成的公钥写入到该文件,执行以下命令:

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

  注意:非root用户至少需要授于只读权限

chmod 400 ~/.ssh/authorized_keys

  最后重启ssh服务

systemctl restart sshd.service

3、客户端配置

本地创建一个文件key.txt,下载服务端生成的私钥,打开并复制到本地key.txt文件中:

more ~/.ssh/id_rsa

  注意:复制的时候请选择 -----BEGIN RSA PRIVATE KEY-----  -----END RSA PRIVATE KEY----- 全部内容,否则无法使用,例如:

-----BEGIN RSA PRIVATE KEY-----
MIIEpgIBAAKCAQEAuUD63UpzsyrPc5YmW0VdQmF3fCqlPJmddGkVwl2V2nv7QDZX
+oUan96XfABAms3Sp2LHKQHidHPDjgs/3hfIAsB/I8gBQZJupoA6DBJ2HHhoUD7O
FG99S/YTM4nMfu3BPD6yFDMyhMjKY4Ed38WEaESG6QeFMO5EDqlvJiGjY8vnUoFe
GEm3yQn3nOtxd3XHafeDdC0bt6CELs6x50zAhtvBogoeqDWQoCtAPcm4MxgZ8+wd
f2GKdAj6fBNuAVOi/ARGVnOGma4PYgBovFlue1xIZJ4iGpVVRKTBopWZpicOiBtm
5qRzKsk5hYoR2L8WFAOYJGmdwmUs15+K9T1uqQIDAQABAoIBAQCjsRQ6N1BWz4wx
cUqBOaB3SFJhB/mru30S4MwWS8VfIlBXY+2Hcteczf4C1uI/J4Fs4G5lAMJN7gCs
4anUoCTesaNmRZM+kpptSz5/bkypSYe66FQGYKFRXqWG08s7mPA3QJrwGHEaPaYA
GJYCJbCixXKENF3vZ4oBfpu1EOIkCgQp9Gsw3TzKXtieihynwf6PBVA4gRDCA8S/
p3cEDhFJUiI/n8WG6VRd59/+4lhFL6zpX8FRVtWFshaNg60I/+DrGxzDxG+1MbkA
BTkTpMq5evVsCDz/tJyyqBZTAv8pwluwn0bxoCEXQgE2FvpjJVl5qtfarWh3z7kB
1PVcIQjVAoGBAPNPRMqrtT7uUS8OvZf/bUHug+ENeJ/5mVJS/ZWPliLcNjAqJiek
0ye+T/XQxtOqJC2P4ds4+4dSkV+8jRsB47kC9r4Aa/6MhmfifQhXrUBwc54cQ8rj
grw2BSfd5gZNqrYvaYwZOJMkTx2ljTuCNrKECHwNQwMHWtG5OTyw6NB7AoGBAMLq
iRJPorQ1dXkzm795vuNrEayj8bEOUclpoyZctDflMEilj5p7/crslImSlOHXJHry
ING5CmOJIE2GMPZAmV4UNrQRAffTpMuhPgu6YLmoKPXvQk85ArnGFImxsETTY3aX
2pW09O2EAfFLSEZfO+KtDfvjNeLgPpVObTSk3B4rAoGBAL7vyAZcNYHLN758DOEJ
O85vxOKJ1c2E7IMkSYhjA+kbcxLdINAfku0vdkRrsHxOmtF+hjmpQAp0C01cBEfb
db+sycFVR2qdEKTZolE3rOhS1wiPGcxQOjpFEkq04lyz+nG6R1QAPtuJtOSJFIpM
p2v0HUxsg9gOn4DRoE82bZ2dAoGBAKLqF0F30F1hZVu1eBNVdehtYGt06Bl+B3wa
UGRLDdK+PFosD1gnFJycmxZVrx0IjpQ4dpf0WquRPK+vXpMksUvCB2r/4C489rvA
fLSexiPHWt0casb+trmBxz7DhrowGS1RhUCl7CXttRXyP2maRdqTnGGRqkOD/Ksc
zwg2V0jbAoGBAM8MWhHmA6elQbLD3x38Kkcn2YNOrOcgqV3ihDTX6/VWkJQ9MFhC
BnygVC/bA/0P+yhsivCfmS0YR1bfeTyfftlh7aprnfRNPsiAYwgWv2HM5we0qv7o
pocCUHuflpIAQxm/mxQObFty/ie4Wrme9OcCe0ksjaJNDpOwFzLWx9oh
-----END RSA PRIVATE KEY-----

  打开xshell客户端,身份验证选择Public key方式,输入用户名,刚才我们使用的是root用户,所以这里输入root,用户密钥选择浏览,找到key.txt文件导入,密码如果刚才我们在创建密钥的时候输入了密码,那此处密码填写刚才设置的密码,如果没有设置,则不用填写。

至此,便可以连接接使用啦,安全又升级了!

文章出处:http://www.cnblogs.com/anech/p/6888979.html

CentOS 7 SSH远程证书登陆的更多相关文章

  1. Docker实现CentOS容器SSH远程登录

    Docker实现CentOS容器SSH远程登录 https://blog.csdn.net/A632189007/article/details/78625378 这里根据Dockerfile方式构建 ...

  2. CentOS配置SSH远程连接

    本文为大家介绍Centos中配置SSH远程连接的方法,只是简单配置,供初学者参考. 1.配置IP#setup 选择 NetWork configuration 选择 Device configurat ...

  3. CentOS下SSH远程免密登录服务器

    .5服务器上配置,通过ssh远程免密登录192. 1.安装SSH,此处省略 2.生成公钥和私钥,生成的秘钥默认在/root/.ssh/文件夹里面 [root@localhost ~ ::&&a ...

  4. linux ssh远程免登陆

    一.备份: 操作之前先将/root/.ssh/下的known_hosts备份成known_hosts.bak

  5. linux centos使用xrdp远程界面登陆

    redhat6 安装xrdp 直接使用windows远程桌面连接登陆 下面介绍实现方法: 第一步:下载源码包,并安装一些依赖的软件下载xrdp源码包 ​wget http://downloads.so ...

  6. Centos 拒绝ssh远程暴力破解方法

    佳木斯SEO摘要 有一天突然收到一封邮件,邮件内容告知我的ECS服务器作为肉鸡在攻击别的机器,期初一想,一定是我机器的账号密码被泄露,或者是被人暴力破解,于是乎,我就查询了一下我机器的账号登录记录. ...

  7. centos 配置ssh远程登录

    参考博客: http://blog.csdn.net/sangjian1006/article/details/51603236 1.修改SSH配置文件/etc/ssh/sshd_config 2.在 ...

  8. Mac客户端CentOS服务器 SSH免密码登陆

    假定有2个服务器A(127.0.0.1)和B(192.168.0.1),A作为客户端来登录服务器B 1.在服务器A下使用 ssh-keygen -t ras -P 会在-/.ssh目录下'生成公钥(i ...

  9. centos设置ssh免密码登陆

    准备工作:    1.确认本机sshd的配置文件(需要root权限) $ gedit /etc/ssh/sshd_config 找到以下内容,并去掉注释符”#“ RSAAuthentication y ...

随机推荐

  1. Vim 字符集问题

     使用CentOS中的Vim 文本编辑器出现中文乱码的问题. 凡是字符乱码的问题,都是字符集不匹配的问题引起的.这里的字符集不匹配只的是文件的编码和解码方式不匹配,同时可能涉及到不只一次的解码过程. ...

  2. JS代码识别扫码设备

    <!DOCTYPE html><html lang="en"><head>  <meta charset="UTF-8" ...

  3. Supervisor快速上手指南(转)

    原文:http://maemual.me/index.php/archives/8/ Supervisor是一个进程控制程序.用于监控管理你需要的程序. 当你有一个程序,需要长期在后台运行,并且希望能 ...

  4. c# 方法传递参数

    一.参数的使用方法: 1.值参数(Value Parameter ) 格式:方法名称(参数类型 参数名称[,参数类型 参数名称]) 2.引用参数(Reference Parameter ) 格式:方法 ...

  5. math.h函数库

    C语言中之数学函数 C语言提供了以下的数学函数,要使用这些函数时,在程序文件头必须加入: #include <math.h> 编译时,必须加上参数「-lm」(表示连结至数学函式库),例如「 ...

  6. vim中快速定位到某行以及快捷删除多行

    vim filename 在命令行中直接输入 numberG 比如 100G直接定位到100行 输入 :set number即显示行号 : i,.d删除从第i行到目前所在行内容

  7. 文本文件显示 删除文本文件前n个字符

    #include<iostream>#include<string.h>using namespace std;void displayContent(const char * ...

  8. SQL Server排名函数与排名开窗函数

    什么是排名函数?说实话我也不甚清楚,我知道 order by 是排序用的,那么什么又是排名函数呢? 接下来看几个示例就明白了. 首先建立一个表,随便插入一些数据. ROW_NUMBER 函数:直接排序 ...

  9. Django:学习笔记(5)——会话

    Django:学习笔记(5)——会话 配置中间件 Django中使用会话,需要配置一个中间件. 配置会话引擎 默认情况下,Django在数据库中存储sessions(使用了django.contrib ...

  10. UVALive - 4671 K-neighbor substrings (FFT+哈希)

    题意:海明距离的定义:两个相同长度的字符串中不同的字符数.现给出母串A和模式串B,求A中有多少与B海明距离<=k的不同子串 分析:将字符a视作1,b视作0.则A与B中都是a的位置乘积是1.现将B ...