SSH服务详解(二)–使用私钥登录 SSH 服务器(免密登录)

SSH服务详解(二)–使用私钥登录 SSH 服务器(免密登录)SSH服务详解(二)–使用私钥登录SSH服务器(免密登录)SSH服务器运行在ubuntu18.04.1SSH客户端在Windows10在我们平时使用Linux系统时候,通常使用的LinuxSSH登录方式是用户名加密码的登录方式,今天来探讨另外的一种相对安全的登录方式——密钥登录SSH登录是用的RSA非对称加密的,所以我们在SSH登录的时候就可以使用RSA密钥登录,SSH有专门创建SSH密钥的工具ssh-keygen。服务器生成密钥对(ubuntu)

SSH服务详解(二)--使用私钥登录

SSH服务详解(二)–使用私钥登录 SSH 服务器(免密登录)

SSH服务详解(一)–Linux SSH 服务器与客户端的安装与启动

SSH服务详解(二)–使用私钥登录 SSH 服务器(免密登录)

SSH 服务详解 (三)– 使用 SSH 代理

SSH 服务详解 (四)– 本地调用远程主机的命令

SSH 服务详解 (五)– 远程文件拷贝

SSH 服务详解 (六)– Windows SSH 主机

SSH 服务详解 (七)– SSH 连接 Github

SSH服务详解(八)– vscode 通过 SSH 远程连接 linux 服务器

  • SSH 服务器运行在 ubuntu 18.04.1
  • SSH 客户端在 Windows10

在我们平时使用 Linux 系统时候,通常使用的 Linux SSH 登录方式是用户名加密码的登录方式,今天来探讨另外的一种相对安全的登录方式——密钥登录

SSH 登录是用的 RSA 非对称加密的,所以我们在 SSH 登录的时候就可以使用 RSA 密钥登录,SSH 有专门创建 SSH 密钥的工具ssh-keygen。

服务器生成密钥对(ubuntu)

首先进入 Linux 系统的用户目录下的 .ssh 目录

cd ~/.ssh/

执行 ls 命令,此时目录为空

执行 ssh-keygen 命令创建密钥对

ssh-keygen -t rsa

执行密钥生成命令,基本上是一路回车既可以了,但是需要注意的是:执行命令的过程中是会输入密钥的密码,不需要密码直接回车就行。

tyustli@tyustli-virtual-machine:~/.ssh$ ssh-keygen 
Generating public/private rsa key pair.
Enter file in which to save the key (/home/tyustli/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/tyustli/.ssh/id_rsa.
Your public key has been saved in /home/tyustli/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:S3j7n/xkWNDWr34lh7g03VyL8h7QFFHgVmGN4PZwmQk tyustli@tyustli-virtual-machine
The key's randomart image is:
+---[RSA 2048]----+
|            E=+*o|
|           ..o==.|
|            =+B .|
|       .   .+*  o|
|      . S  . ++++|
|       o o .=++o=|
|        o  .+++o.|
|         . ..*. .|
|          ..=oo. |
+----[SHA256]-----+
tyustli@tyustli-virtual-machine:~/.ssh$ 

命令生成之后使用 ls 命令查看一下

id_rsa  id_rsa.pub

密钥生成后会在当前目录下多出两个文件,id_rsa 和 id_rsa.pub,其中 id_rsa 是私钥(客户端使用),id_rsa.pub 这个是公钥(服务器使用)

客户端连接(windows)

上一小节中 Ubuntu 中生成了私钥和公钥,公钥客户端使用,就放在 ~/.ssh 目录下,私钥需要拷贝到客户端也就是 Windows 做连接使用,具体拷贝方法,可以使用 FTP 服务器进行传输,或者 cat 出来复制粘贴即可

私钥部分如下所示:

-----BEGIN RSA PRIVATE KEY-----
wB9Oh5oXOQvlJJAUXiAiudcGYUXulmQks7itfzHZzstMKDXaCEtpeQi8NxfcwQJT
WzNG/x2b//vLtXlLmfiTKggaoCDu/zVbmAsb4QSX4rG4HhhK3aWSP/+NcN5oqqWM
...
nl6z6M8rVdtgClmL8Gkj/yMCgYAs1yPo7wFKnVKxefgn0vxTNqD+6O5feJu817Pl
se1qj/vyzYebpFyQWyAy45RzKjVSEFiHfk0PS7teDqijpqrqscVJ
-----END RSA PRIVATE KEY-----

id_rsa 私钥拷贝到 Windows 下,执行命令:

ssh -i .\id_rsa  tyustli@192.168.10.18

这里是进入私钥的目录下操作的,如果没在私钥的目录下,请写全目录,比如 C:\Users\Admin\Desktop\temp_dir\ssh

可以看到,使用私钥登录 SSH 还是提示需要输入密码,说明哪里配置还是有问题。

SSH 服务器配置(ubuntu)

cd ~/.ssh,执行 ls 看看目录下是否有 authorized_keys 文件没有的话则执行以下命令创建:

touch authorized_keys

id_rsa.pub 文件的内容输出到 authorized_keys

cat id_rsa.pub >> authorized_keys 

这个时候再使用命令连接

ssh -i .\id_rsa  tyustli@192.168.10.18

命令结果如下:

Welcome to Ubuntu 18.04.4 LTS (GNU/Linux 5.3.0-61-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage


 * Canonical Livepatch is available for installation.
   - Reduce system reboots and improve kernel security. Activate at:
     https://ubuntu.com/livepatch

393 packages can be updated.
321 updates are security updates.

Your Hardware Enablement Stack (HWE) is supported until April 2023.
Last login: Wed Dec 29 05:02:30 2021 from 192.168.10.22

连接成功,无需再输入密码

退出远程连接命令

exit

今天的文章SSH服务详解(二)–使用私钥登录 SSH 服务器(免密登录)分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/30305.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注