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

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

关于SSH服务器搭建

一、配置远程连接

1、ssh配置

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

ssh_config和sshd_config区别
前者是针对客户端的配置文件,后者则是针对服务端的配置文件

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

systemctl restart sshd

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本地生成公钥

配置RSA密钥使用ssh协议登录远程服务器_第1张图片
配置RSA密钥使用ssh协议登录远程服务器_第2张图片
名字随意,可以再给密钥加密,是对本地密钥的保护。
配置RSA密钥使用ssh协议登录远程服务器_第3张图片

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

配置RSA密钥使用ssh协议登录远程服务器_第4张图片

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

cd ~/.ssh
vi authorizedd_keys
5、连接

配置RSA密钥使用ssh协议登录远程服务器_第5张图片

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

配置RSA密钥使用ssh协议登录远程服务器_第6张图片

就搞定啦

配置RSA密钥使用ssh协议登录远程服务器_第7张图片

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

在3.4.2 https://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 协议等。

协议选择

配置RSA密钥使用ssh协议登录远程服务器_第8张图片

选择的协议对应配置

配置RSA密钥使用ssh协议登录远程服务器_第9张图片

协议版本选择

配置RSA密钥使用ssh协议登录远程服务器_第10张图片

什么是SSH以及常见的ssh的功能
RSA算法原理(2)http://www.ruanyifeng.com/blog/2013/07/rsa_algorithm_part_two.html

你可能感兴趣的:(linux,远程连接,云服务器,Linux防护,linux,云服务,远程连接)