远程连接服务器---openSSH-私钥公钥与SSH代理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了远程连接服务器---openSSH-私钥公钥与SSH代理相关的知识,希望对你有一定的参考价值。

私钥与公钥  

所谓"公钥登录",原理很简单,就是用户将自己的公钥储存在远程主机上。登录的时候,远程主机会向用户发送一段随机字符串,用户用自己的私钥加密后,再发回来。远程主机用事先储存的公钥进行解密,如果成功,就证明用户是可信的,直接允许登录shell,不再要求密码。

这种方法要求用户必须提供自己的公钥。如果没有现成的,可以直接用ssh-keygen生成一个。

实验环境:

两台linux redhat6.5

地址分别为 192.168.10.100 / 192.168.10.200

 

首先开启服务端这的密钥验证

# vim /etc/ssh/sshd_config

去除这两项的#

PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys

 

绑定一个普通用户到客户机

在一个普通用户下:

技术分享图片

注意这个密码是有长度要求的,至少大于4位。

生成的密钥储存在用户家目录下的SSH文件夹

 

技术分享图片

技术分享图片

 

然后把密钥给到zzz用户

$ ssh-copy-id -i id_rsa.pub [email protected]

技术分享图片

 

这里的密码是用户ZZZ的密码。

回到ZZZ的家目录下查看,发现已经有了公钥文件

技术分享图片

 

这时我们就可以使用密钥登陆zzz的系统了。

$ ssh [email protected]

技术分享图片

 

下面布置ssh代理用来免密码登陆密钥

[[email protected] .ssh]$ ssh-agent bash
[[email protected] .ssh]$ ssh-add
Enter passphrase for /home/perk/.ssh/id_rsa:    #输入密钥的密码
Identity added: /home/perk/.ssh/id_rsa (/home/perk/.ssh/id_rsa)
技术分享图片

这样我们就可以免密码使用密钥登陆zzz的系统(并不安全)

技术分享图片

以上是关于远程连接服务器---openSSH-私钥公钥与SSH代理的主要内容,如果未能解决你的问题,请参考以下文章

Linux 124课程 9配置和安全OpenSSH服务

如何使用私钥/公钥在不提供密码的情况下登录 ssh 服务器-imported-openssh-key

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

Windows和Linux下实现ssh免密登录

linux公钥登录远程服务器

用PUTTY让IP与电脑连接,但出现Network error:Connection refused。OPENSSH安装正常·····