如何设置SSH无密码登录

SSH用于登录服务器以远程运行命令和程序。但是,有时您可能希望甚至需要在不输入用户名和密码的情况下自动登录SSH服务器。

通过SSH登录远程系统的两种最流行的机制是
基于密码的身份验证

基于密钥的身份验证
.

用户名和密码组合是SSH最常见的身份验证方法,适用于大多数人。不幸的是,使用这种方法存在一定的安全风险。

另一方面,如果您经常使用SSH连接到远程服务器,则基于密钥的身份验证方法最适合您。

那么,你可以在没有密码的情况下进行SSH吗?简而言之,是的!以下是操作方法。

步骤1:生成SSH密钥对

您首先需要在当前工作的机器上生成SSH密钥对。

如果您不确定如何做到这一点,我建议您遵循我们简短而易于遵循的指南:生成SSH密钥对[带示例]。

步骤2:将公钥复制到远程服务器

要启用不带密码的SSH登录,您需要将SSH公钥的副本传输到远程服务器。
因此,您需要知道远程服务器的凭据和其他一些详细信息,如主机名/IP、用户名、密码和端口号。

要将公钥传输到远程服务器,我们将使用
ssh复制id
在大多数Linux发行版中可用的命令。该命令将复制公钥的内容
.ssh/id_rsa.pub

.ssh/authorized_keys
远程系统中的文件。 

ssh复制id
 使用者
@远程主机
代码语言:
 CSS
 (
css
)

系统将提示您输入远程用户名密码。一旦用户通过身份验证,公钥将自动复制到
.ssh/authorized_keys
远程服务器上的文件。

在远程服务器上,您可以通过查看的内容来验证公钥的传输
.ssh/authorized_keys
文件

有关的更多信息
ssh复制id
命令,请参阅其手册页。

步骤3:SSH无密码登录

现在,您应该能够登录到远程服务器,而无需提示输入密码。只需尝试通过SSH登录到您的服务器:

ssh
 用户名
@远程服务器
代码语言:
 CSS
 (
css
)