SSH 是 Linux 系统的登录工具,现在广泛用于服务器登录和各种加密通信。
本教程介绍 SSH(主要是它的实现 OpenSSH)的概念和基本用法,也可以当作手册查询。
Category: Linux / Shell Script Development |
Watchers: 58 |
Star: 1.8k |
Fork: 328 |
Last update: Nov 23, 2023 |
SSH 是 Linux 系统的登录工具,现在广泛用于服务器登录和各种加密通信。
本教程介绍 SSH(主要是它的实现 OpenSSH)的概念和基本用法,也可以当作手册查询。
能否详细写一下证书登录的验证过程
是怎么检查是否有效的
fix typo
阮老师,“最终效果就是,访问本机的2999端口,就会转发到target-host的2999端口"。这里的2个2999是不是应该是7999呢
文章的这个部分,具体如下图所示:
如上图所示,
Host *
如果写在了 Host remoteserver
前面,就无法实现像文中所说的后续覆盖的效果了,因为:
官方文档指出:For each parameter, the first obtained value will be used.(对于每个参数,将使用第一个获得的值)
当 Host *
写在前面时,Port 2222
会被首先使用,下面在补充一个 ssh 连接的过程:
综上所述,要实现文章中所说的写法,应该这样写:
Host remoteserver
HostName remote.example.com
User neo
Port 2112
Host *
Port 2222
即:Host *
应该被放到配置文件的最末尾,进行补充设置。
SSH 密钥登录分为以下的步骤。
预备步骤,客户端通过ssh-keygen生成自己的公钥和私钥。
第一步,手动将客户端的公钥放入远程服务器的指定位置。
第二步,客户端向服务器发起 SSH 登录的请求。
第三步,服务器收到用户 SSH 登录的请求,发送一些随机数据给用户,要求用户证明自己的身份。
第四步,客户端收到服务器发来的数据,使用私钥对数据进行签名,然后再发还给服务器。
第五步,服务器收到客户端发来的加密签名后,使用对应的公钥解密,然后跟原始数据比较。如果一致,就允许用户登录。
请问其中对应的公钥是怎么确定的?