关于我们

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻公共列表

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

发布时间:2023/11/3 15:03:09
香港云服务器

SSH用于远程登录服务器,运行命令和程序。你可以通过密码认证和通过公钥认证来登录远程系统。如果你经常使用SSH连接到远程服务器,那么公钥认证方法最适合你。这种方法是一种安全的、无需密码的登录方式。

在这篇文章中,我们将解释如何在Linux操作系统服务器中设置没有密码的SSH。我们将使用命令行终端应用程序来实现这一目的。要打开命令行终端,请使用键盘快捷键。+alt+t>

我们已经在Ubuntu 20.04系统上解释了本文中提到的步骤。在Debian和之前的Ubuntu版本中也可以遵循同样的步骤。

按照下面的步骤在您的Linux系统上设置无需密码的SSH。

在本地计算机上生成新的SSH密钥对

第一步将是在本地系统上生成一个新的SSH密钥。为此,请在终端中发出以下命令:

$ ssh-keygen -t rsa

按Enter键接受所有字段为默认值。

上面的命令将创建密钥对,即公共密钥和私有密钥。私钥保留在系统上,而公钥则共享。这些密钥存储在.ssh文件夹中。

您可以输入以下命令来查看生成的密钥对:

$ ls –l .ssh

将公钥复制到远程服务器

在下一步中,将公用密钥复制到要从本地系统访问的远程服务器系统上,而无需输入密码。我们将使用大多数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

在远程系统上,您可以通过查看authorized_keys文件来验证公钥的传输。

$ cat .ssh / authorized_keys

将远程系统上的authorized_keys文件的权限设置为600。请使用以下命令:

$ chmod 600 .ssh / authorized_keys

将远程系统上的.ssh目录的权限设置为700。使用以下命令来这样做:

$ chmod 700 .ssh

将私钥添加到本地服务器上的SSH身份验证代理

在我们的本地计算机中,我们会将私钥添加到SSH身份验证代理。这将使我们无需每次都输入密码即可登录到远程服务器。

这是执行此操作的命令:

$ ssh-add

使用SSH密钥登录到远程服务器

完成上述步骤后,尝试登录到远程服务器。这次,您无需输入密码即可登录到远程服务器。

这就是在Ubuntu 20.04系统中设置不带密码的SSH登录所需要的全部内容。请记住,您可以与任何人共享公钥,但绝不能共享您的私钥。拥有私钥的任何人都将能够登录到具有匹配公钥的任何系统。