配置RSA密钥使用ssh协议登录远程服务器

背景:
连接工具Xshell 6
目标服务器系统centOS7.3
本地系统windows

关于SSH服务器搭建

一、配置远程连接

1、ssh配置

//打开ssh配置文件
vi /etc/ssh/ssh_config
按需配置,也可关闭root用户登录,将权限所属用户改为普通用户进行登录
#关闭密码登录
PasswordAuthentication no
#允许root认证登录
PermitRootLogin yes
#允许RSA数字签名
RSAAuthentication yes
#允许公钥登录
PubkeyAuthentication yes
#默认公钥存放的位置
AuthorizedKeysFile  .ssh/authorized_keys

2、权限配置

cd ~
//更改.ssh文件所有者为root(一般就是root)
l. -ls
chown root:root ~/.ssh

//.ssh目录权限一般为755或者700。仅root用户能进行写操作
chmod 700 ~/.ssh

//更改所属,配置自己可读可执行,其他用户仅可读
chown root:root ~/.ssh/authorized_keys
chmod 644 ~/.ssh/authorized_keys

3、windows本地生成公钥

在这里插入图片描述
在这里插入图片描述
名字随意,可以再给密钥加密,是对本地密钥的保护。
在这里插入图片描述

复制公钥,然后点击完成即可。

在这里插入图片描述

4、复制进要连接主机的authorized_keys中。

cd ~/.ssh
vi authorizedd_keys
5、连接

在这里插入图片描述

密钥选择刚才生成的那个,密码是刚才生成公钥时设的密码,不是root密码注意

在这里插入图片描述

就搞定啦

在这里插入图片描述

那如果没有呢?可能是你开启了防火墙,而防火墙又没有开放22端口。

在3.4.2https://blog.csdn.net/xiedongze__/article/details/90714356

二、原理

关于authorized_keys、id_rsa、id_rsa.pub和kown_hosts,了解这些文件的作用和功能后,就会明白上面这么操作的原因。

什么是公钥和私钥?

一般生成密钥是成对生成的,一个是公钥一个是私钥,私钥的作用是对公钥进行解密(严格保管),公钥则是对信息进行加密,当使用和私钥配对的公钥(加密方式)进行加密时,再用私钥对得到的信息进行解密。结果很明显,加密前和解密后答案一致,完成交互,即远程连接。

如何使用?

只需要将公钥放入要连接的系统B中即可,连接时会自动与本地的对于目录下的私钥进行匹配。

id_rsa和id_rsa.pub?

id_rsa和id_rsa.pub是相对的本机A生成的密钥对,前者是私钥后者是公钥。

如何使用?

当连接远程服务器B时,把id_rsa.pub放到远程服务器B的authorized_keys中即可。
有个最常见的例子就是:本地或者多人合作git上一个项目,就需要生产密钥,将id_rsa.pub放进github官网的ssh配置项。

authorized_keys?

存放其他机器的公钥,其他机器使用私钥进行访问,进行认证连接。

know_hosts?

ssh会把你每个你访问过计算机的公钥(public key)都记录在~/.ssh/known_hosts。当下次访问相同计算机时,OpenSSH会核对公钥。如果公钥不同,OpenSSH会发出警告, 避免你受到DNS Hijack之类的攻击。
简单来说就是同一台机器多个系统多个公钥访问同一个服务器,服务器的OpenSSH会发出警告。

什么是SSH2?

简单说,SSH是一种网络协议,用于计算机之间的加密登录。

X shell6软件?

Xshell是一个软件,是一个强大的安全终端模拟软件,它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET 协议等。

协议选择

在这里插入图片描述

选择的协议对应配置

在这里插入图片描述

协议版本选择

在这里插入图片描述

什么是SSH以及常见的ssh的功能
RSA算法原理(2)http://www.ruanyifeng.com/blog/2013/07/rsa_algorithm_part_two.html
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章