首页 windows网维 使用密钥身份验证的方式连接 SSH

使用密钥身份验证的方式连接 SSH

你可以配置 SSH 使用基于密钥的身份验证,而不是使用用户名密码的方式验证。为了使用密钥身份验证方式,你需要生成一对密钥(公钥与私钥—)。私钥作业 “密码” 保存在用户端,公钥放到…

你可以配置 SSH 使用基于密钥的身份验证,而不是使用用户名密码的方式验证。为了使用密钥身份验证方式,你需要生成一对密钥(公钥与私钥—)。私钥作业 “密码” 保存在用户端,公钥放到用户想连接到的远端主机上。本地计算机通过私钥去验证远端主机上的公钥,以确定远端主机的 “合法” 性。

使用密钥身份验证的方式连接 SSH插图

环境介绍:

两台虚拟机 —— workstation 和 servera,workstation 作为客户端,servera 作为服务端,我们现在就是要从 workstation 这台虚拟机上面,通过密钥验证的方式使用 ssh 连接到 servera。

通过 ssh-keygen 在 workstation 上面生成密钥对,并指定密钥的密码(如果不指定密码,则表示不使用密码,在使用密钥登录的时候,不会提示让你输入密码。)

[it@workstation ~]$ ssh-keygen 
Generating public/private rsa key pair.
Enter file in which to save the key (/home/it/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/it/.ssh/id_rsa.
Your public key has been saved in /home/it/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:bUXox2I6qVu4frpCPSgXhFo8b48tc8qyzsv851UGaoc it@workstation.lab.test
The key's randomart image is:
+---[RSA 3072]----+
| . .       ..    |
|  = .     ..     |
| o +    .. ..    |
|.   +  o o+.o    |
|   . BE S+=o     |
|  . B.*o++       |
|   = =.oo.       |
| +. + o+.        |
| .B=.=B=         |
+----[SHA256]-----+
[it@workstation ~]$ ls .ssh/
id_rsa  id_rsa.pub
[it@workstation ~]$ 

id_rsa 是私钥,id_rsa.pub 是公钥(这里我使用的是系统默认的名称)

使用 ssh-copy-id 上传公钥到 servera

[it@workstation ~]$ ssh-copy-id -i .ssh/id_rsa it@servera
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: ".ssh/id_rsa.pub"
The authenticity of host 'servera (10.10.10.25)' can't be established.
ECDSA key fingerprint is SHA256:/Xj4qZo8BWSfrzHt3OpZ4sLuasIFYxd6Wf/ucFN2UL8.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
it@servera's password: 

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'it@servera'"
and check to make sure that only the key(s) you wanted were added.


通过 ssh 连接到 servera,在弹出的窗口里输入私钥的密码(我 workstation 是图形界面的,所有会以弹出窗口的方式,让你输入密钥密码。)。

[it@workstation ~]$ ssh it@servera
Last login: Thu Oct 29 14:41:13 2020 from 10.10.10.20
[it@servera ~]$ 

有人可能会觉得这样一直重复输入密码很烦,有没有办法不输入密码?我们可以使用 ssh-agent 在 bash 进程中缓存私钥的密码。

[it@workstation ~]$ eval $(ssh-agent)
Agent pid 3191
[it@workstation ~]$ ssh-add .ssh/id_rsa
Enter passphrase for .ssh/id_rsa: 
Identity added: .ssh/id_rsa (it@workstation.lab.test)
[it@workstation ~]$ ssh it@servera
Last login: Thu Oct 29 14:42:51 2020 from 10.10.10.20
[it@servera ~]$ 

因为密码是缓存在当前 bash 中的,当我们切换到一个新的 bash 时,将依然要输入私钥密码。

使用相同的方式,将密钥传输到 serverb 上。

免责声明:文章内容不代表本站立场,本站不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考,文章版权归原作者所有。如本文内容影响到您的合法权益(内容、图片等),请及时联系本站,我们会及时删除处理。

作者: 3182235786a

为您推荐

Windows系统怎么保持远程桌面长时间链接不会自动断开呢?

Windows系统怎么保持远程桌面长时间链接不会自动断开呢?

大家经常会遇到正在远程桌面连接如果不进行一些操作,过上个几分钟一会儿之后远程桌面连接就会需要登录,有时还是直接断开需要重...
Win11预览版 Builds 22572.100更新补丁KB5012817发布(附更新修复内容汇总)

Win11预览版 Builds 22572.100更新补丁KB5012817发布(附更新修复内容汇总)

据系统之家小编了解,微软公司于今日凌晨面向Windows预览频道发布了新的Win11 KB5012817补丁,内部版本2...
Win11预览版全新标签式文件资源管理器上手体验:快速切换窗口,还可以滚动标签

Win11预览版全新标签式文件资源管理器上手体验:快速切换窗口,还可以滚动标签

据 Windows Latest 报道,如果你是众多要求微软为文件资源管理器添加标签页的用户之一,现在终于等到了好消息。...
微软 Win11 22H2“太阳谷 2”重大版本将全面改造升级传统经典 UI

微软 Win11 22H2“太阳谷 2”重大版本将全面改造升级传统经典 UI

据 Windows Latest 报道,Windows 11 太阳谷 2 更新预计将对 UI 进行大修,并在 WinUI...
电脑升级win11后怎么退回win10?win11退回win10系统操作方法

电脑升级win11后怎么退回win10?win11退回win10系统操作方法

方法一 1.当我们升级win11后需要退回win10系统时,首先进入开始菜单页面,找到【设置】。 2.在设置的操作页面中...

发表回复

返回顶部