Ssh是一种旨在确保主机之间网络连接安全的协议。Ssh实际上是Linux和相关操作系统的标准。Ssh加密双方之间的连接。Ssh提供主机和服务器之间的终端访问。要获得终端,需要一个身份验证过程。身份验证过程通常基于密码,但基于密码的身份验证有一些注意事项。暴力攻击可以猜测密码并允许访问服务器。为了使事情更安全,可以使用基于密钥的身份验证。在登录或批处理操作中使用它更安全、更实用。
创建密钥对
我们将创建密钥对。我们可能会问自己为什么要配对。一把钥匙不够吗?在非对称密码学中,使用不同的密钥对来完成彼此。其中一个密钥被命名为public,它为公众所知。一个密钥名为private,只有所有者知道。
$ ssh-keygen -t rsa

在RSA公钥和私钥生成过程中,我们将被问到如下一些问题。我们可以回答所有的问题,跳过所有的问题 Enter
钥匙。
- “输入要在其中保存密钥的文件(/home/ismail/.ssh/idu rsa):”问题用于指定默认名称为’idu rsa’的rsa密钥对以及`.ssh`目录下当前用户主路径所在的路径。
- 如果已存在具有指定路径和名称的密钥并接受覆盖,将询问“是否覆盖?”。如果我们不使用旧的RSA密钥,我们可以用“y”答案覆盖。
- “输入密码短语(空表示没有密码短语)”问题用于通过加密保护创建的公钥和私钥,其中我们必须指定密码短语
- “输入密码短语”行用于检查以前输入的密码短语以防止出错
相关文章: 使用Sysctl命令列出并更改内核配置变量
我们创建了一个基于密钥对的RSA算法。我们的密钥对是2048位。因此,只要密钥的大小越长,它就越安全。我们可以用密码短语来保护我们的密钥对,但这在大多数情况下并不实用。默认情况下,我们的密钥对位于用户的home directories.ssh文件中。请记住,在使用ssh配置时,我们需要root权限。获取root权限的最佳方法是使用以下命令。
$ sudo su
向远程服务器添加用户SSH密钥
现在我们有了一把钥匙。我们将使用 ssh-copy-id
命令指定要复制密钥的用户和服务器主机名或IP地址。在本例中,我们将复制已经为用户创建的SSH密钥 ismail
在 192.168.142.150
.
$ ssh-copy-id [email protected]

我们可以看到,在SSH密钥部署期间,一些信息会像源密钥一样打印到屏幕上,这些源密钥将被安装到远程系统。还有多少钥匙可以安装?在安装结束时,“添加的键数”在本例中为1。然后打印SSH命令,用指定的用户无密码登录到远程系统,我们可以在这里进行如下检查。
$ ssh [email protected]

为SSH配置禁用基于密码的身份验证
完成这些步骤后,我们可以禁用基于密码的身份验证 ssh服务器。
$ vim /etc/ssh/sshd_config
正常开放 sshdu配置 文件和更改 密码验证 和 权限登录 像下面这样的线条
PasswordAuthentication noPermitRootLogin without-password
应用SSH服务器配置
然后重新启动 SSH服务器 以加载新配置。
$ sudo systemctl restart ssh
检查SSH服务器状态
检查SSH是否与 系统控制 命令如下。我们将看到SSH在 Active
绿色线条。如果出现错误,您可以恢复到原始配置,然后重新启动SSH服务,如前所述。
$ systemctl status ssh

如何在Linux中为无密码和基于公钥的身份验证创建和设置SSH密钥? 信息图表
