SSH服务详解(一)–Linux SSH 服务器与客户端的安装与启动
SSH服务详解(二)–使用私钥登录 SSH 服务器(免密登录)
SSH服务详解(八)– vscode 通过 SSH 远程连接 linux 服务器
在我们平时使用 Linux 系统时候,通常使用的 Linux SSH 登录方式是用户名加密码的登录方式,今天来探讨另外的一种相对安全的登录方式——密钥登录
SSH 登录是用的 RSA 非对称加密的,所以我们在 SSH 登录的时候就可以使用 RSA 密钥登录,SSH 有专门创建 SSH 密钥的工具ssh-keygen。
首先进入 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 这个是公钥(服务器使用)
上一小节中 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 还是提示需要输入密码,说明哪里配置还是有问题。
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