网站搜索

如何在 Linux 中设置 SSH 无密码登录


SSH (Secure SHELL) 是一种开源且可信的网络协议,用于登录远程服务器以执行命令和程序。

它还用于使用安全复制 (SCP) 命令和 rsync 命令通过网络将文件从一台计算机传输到另一台计算机。

在本文中,我们将向您展示如何在基于 RHEL 的 Linux 发行版(例如 CentOSFedoraRocky Linux)上设置无密码登录> & AlmaLinux, 和基于 Debian 的发行版,例如 UbuntuMint 使用 ssh 密钥 连接到远程< Linux服务器无需输入密码。

使用SSH 密钥进行无密码登录将增加两个 Linux 服务器之间的信任,以便轻松同步或传输文件。

我的设置环境
SSH Client : 192.168.0.12 ( Fedora 36 )
SSH Remote Host : 192.168.0.11 ( CentOS 8 )

如果您正在处理多个Linux远程服务器,那么SSH无密码登录是自动执行任务的最佳方法之一,例如使用脚本自动备份、使用SCP命令,以及远程命令执行。

在此示例中,我们将设置SSH无密码从服务器192.168.0.12自动登录为用户howtoing192.168.0.11 与用户 sheena

第 1 步:在 – (192.168.0.12) 上创建身份验证 SSH-Keygen 密钥

首先使用用户 howtoing 登录服务器 192.168.0.12 并使用以下命令生成一对公钥。

ssh-keygen -t rsa

Generating public/private rsa key pair.
Enter file in which to save the key (/home/tecmint/.ssh/id_rsa): [Press enter key]
Created directory '/home/tecmint/.ssh'.
Enter passphrase (empty for no passphrase): [Press enter key]
Enter same passphrase again: [Press enter key]
Your identification has been saved in /home/tecmint/.ssh/id_rsa.
Your public key has been saved in /home/tecmint/.ssh/id_rsa.pub.
The key fingerprint is:
5f:ad:40:00:8a:d1:9b:99:b3:b0:f8:08:99:c3:ed:d3 [email 
The key's randomart image is:
+--[ RSA 2048]----+
|        ..oooE.++|
|         o. o.o  |
|          ..   . |
|         o  . . o|
|        S .  . + |
|       . .    . o|
|      . o o    ..|
|       + +       |
|        +.       |
+-----------------+

第 2 步:上传 SSH 密钥至 – 192.168.0.11

从服务器 192.168.0.12 使用 SSH,并在服务器 192.168.0.11 下的 id_rsa.pub) "color: blue;">sheena的.ssh目录作为文件名authorized_keys

ssh-copy-id [email 

确保对远程服务器上的 ~/.ssh 目录和 ~/.ssh/authorized_keys 文件设置正确的权限。

ssh [email  "chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys"

步骤 3:禁用密码验证(可选)

为了提高安全性,您可以在远程服务器上禁用密码身份验证,仅允许 SSH 密钥身份验证。为此,请打开远程服务器上的 SSH 服务器配置文件:

sudo nano /etc/ssh/sshd_config
OR
sudo vi /etc/ssh/sshd_config

找到包含 PasswordAuthentication 的行并将其设置为no

PasswordAuthentication no

保存文件并重新启动 SSH 服务。

sudo systemctl restart sshd

步骤 4:测试从 192.168.0.12 进行 SSH 无密码登录

从现在开始,您可以以 sheena 用户身份从服务器 192.168.0.12 登录 192.168.0.11 howtoing 用户没有密码。

ssh [email 

在本文中,您学习了如何使用 ssh 密钥设置 SSH 无密码登录。我希望这个过程很简单。如果您有任何疑问,请在下面的评论部分发表。