如何设置SSH不使用密码登录方式?

[复制链接] |主动推送
查看34 | 回复0 | 2024-9-11 15:02:51 | 显示全部楼层 |阅读模式
SSH用于远程登录服务器,运行命令和程序。你可以通过密码认证和通过公钥认证来登录远程系统。如果你经常使用SSH连接到远程服务器,那么公钥认证方法最适合你。这种方法是一种安全的、无需密码的登录方式。
在这篇文章中,我们将解释如何在Linux操作系统服务器中设置没有密码的SSH。我们将使用命令行终端应用程序来实现这一目的。要打开命令行终端,请使用键盘快捷键。+alt+t>
我们已经在Ubuntu 20.04系统上解释了本文中提到的步骤。在Debian和之前的Ubuntu版本中也可以遵循同样的步骤。
按照下面的步骤在您的Linux系统上设置无需密码的SSH。
在本地计算机上生成新的SSH密钥对
第一步将是在本地系统上生成一个新的SSH密钥。为此,请在终端中发出以下命令:
$ ssh-keygen -t rsa
按Enter键接受所有字段为默认值。
111051hzxz4zgqqpq89g0b.png
上面的命令将创建密钥对,即公共密钥和私有密钥。私钥保留在系统上,而公钥则共享。这些密钥存储在.ssh文件夹中。
您可以输入以下命令来查看生成的密钥对:
$ ls –l .ssh
111052n1nombyybo66voyy.png
将公钥复制到远程服务器
在下一步中,将公用密钥复制到要从本地系统访问的远程服务器系统上,而无需输入密码。我们将使用大多数Linux发行版中默认提供的ssh-copy-id命令。此命令会将公共密钥id_rsa.pub复制到远程系统中的.ssh / authorized_keys文件中。
ssh-copy-id的语法如下:
$ ssh-copy-id remote_user @ remote_IP
在我们的示例中,命令为:
$ ssh-copy-id tin @ 192.168.72.136
111052mmgcz0b8lgif8mg7.png
在远程系统上,您可以通过查看authorized_keys文件来验证公钥的传输。
$ cat .ssh / authorized_keys
将远程系统上的authorized_keys文件的权限设置为600。请使用以下命令:
$ chmod 600 .ssh / authorized_keys
将远程系统上的.ssh目录的权限设置为700。使用以下命令来这样做:
$ chmod 700 .ssh
将私钥添加到本地服务器上的SSH身份验证代理
在我们的本地计算机中,我们会将私钥添加到SSH身份验证代理。这将使我们无需每次都输入密码即可登录到远程服务器。
这是执行此操作的命令:
$ ssh-add
111057p1ee5gizqe9w9g5g.png
使用SSH密钥登录到远程服务器
完成上述步骤后,尝试登录到远程服务器。这次,您无需输入密码即可登录到远程服务器。
111057aww2170xt01t41w0.png
这就是在Ubuntu 20.04系统中设置不带密码的SSH登录所需要的全部内容。请记住,您可以与任何人共享公钥,但绝不能共享您的私钥。拥有私钥的任何人都将能够登录到具有匹配公钥的任何系统。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则