Ssh提供到远程系统的安全远程连接。它实际上是一种协议,用于通过命令行远程管理Linux和网络系统。Ssh提供了许多额外的特性,这使得它可以用于不同的用途。例如,我们可以通过ssh以安全的方式将文件复制到远程和本地系统。为了使事情简单明了,我们可以对ssh协议使用基于密钥的无密码身份验证。
为客户端列出本地系统上的公钥和私钥
在某些情况下,可能存在公钥和私钥。ssh用户公钥和私钥的默认位置是 /home/user/.ssh
. 因此,我们将列出目录和键是否存在。我们将使用 ls
这个命令。
$ ls -l /home/ismail/.ssh/

我们可以看到,在这个示例中没有ssh公钥或私钥。
在客户端上创建公钥和私钥
第一步是在客户机系统上创建公钥和私钥对,公钥复制到远程系统,私钥保存在本地系统上。私钥只能由本地系统用户知道。我们将使用 ssh-keygen
命令。此命令将创建名为 id_rsa.pub
和 id_rsa
.
$ ssh-keygen

将公钥复制到ssh Copy id为的服务器
我们将使用 ssh-copy-id
命令将ssh公钥复制到远程系统。我们将提供远程系统的IP地址,如果远程用户不同于本地用户的用户名。在本例中,我们使用当前用户。
$ ssh-copy-id 192.168.43.129

正如我们从输出1中看到的,键被添加到远程系统中。
相关文章: 如何在Ubuntu、Debian、Kali、Mint中安装、启动、停止、重启OpenSSH?
使用ssh echo将公钥复制到服务器
我们有另一种方法将密钥复制到远程 ssh-copy-id
. 如前所述 ssh
提供不同的功能,使系统管理员的生活更轻松。我们可以在没有交互式shell的远程系统上运行命令。我们将此功能用于 echo
将密钥复制到远程系统的命令。
$ cat .ssh/id_rsa.pub | ssh 192.168.43.129 'cat >> .ssh/authorized_keys'
无密码连接
现在我们已经完成了所有步骤。我们可以简单地通过ssh连接远程系统,只需运行以下命令。
$ ssh 192.168.43.129
