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

简介: 【2月更文挑战第8天】

SSH(Secure Shell)是一种安全网络协议,用于在不安全的网络上安全地进行远程登录和执行命令。在 Linux 系统中,使用 SSH 可以方便地远程连接到其他计算机,并且还可以通过配置无密码登录来提高操作的便利性和安全性。本文将介绍如何在 Linux 中设置 SSH 无密码登录。

1. 生成 SSH 密钥对

首先,我们需要生成一对 SSH 密钥,其中包括私钥和公钥。私钥将保存在本地主机上,而公钥将被复制到远程主机上以进行身份验证。

在终端中执行以下命令来生成 SSH 密钥对:

ssh-keygen -t rsa

生成命令会要求你输入密钥文件的保存路径和文件名,以及一个可选的密码(用于保护私钥)。如果你没有指定路径和文件名,则默认情况下将在 ~/.ssh 目录下生成密钥文件 id_rsaid_rsa.pub

2. 复制公钥到远程主机

接下来,我们需要将公钥复制到远程主机上,以便进行身份验证。

在终端中执行以下命令来复制公钥到远程主机(假设远程主机的 IP 地址为 remote_host,用户名为 username):

ssh-copy-id username@remote_host

执行该命令后,系统会要求你输入远程主机的密码。输入正确的密码后,公钥将被复制到远程主机上的 ~/.ssh/authorized_keys 文件中。

如果 ssh-copy-id 命令不可用,你可以手动将公钥内容复制到远程主机的 ~/.ssh/authorized_keys 文件中。使用以下命令将公钥复制到远程主机:

cat ~/.ssh/id_rsa.pub | ssh username@remote_host 'mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys'

3. 配置 SSH 连接

一旦公钥被成功地复制到远程主机上,我们需要对 SSH 连接进行一些配置,以确保无密码登录的顺利进行。

  1. 打开 SSH 配置文件:

    sudo vi /etc/ssh/sshd_config
    
  2. 确保以下设置被正确配置:

    RSAAuthentication yes
    PubkeyAuthentication yes
    PasswordAuthentication no
    

    上述设置将启用 RSA 密钥身份验证,并禁用密码身份验证。

  3. 保存并关闭文件。

  4. 重启 SSH 服务以使更改生效:

    sudo service ssh restart
    

无密码登录测试

现在,你应该可以通过无密码登录的方式连接到远程主机。

在终端中执行以下命令来测试无密码登录(假设远程主机的 IP 地址为 remote_host,用户名为 username):

ssh username@remote_host

如果一切顺利,你将能够无需输入密码即可成功登录到远程主机。

总结

通过设置 SSH 无密码登录,我们可以方便地进行远程连接并保护远程主机的安全性。本文介绍了在 Linux 中设置 SSH 无密码登录的步骤,包括生成密钥对、复制公钥到远程主机以及配置 SSH 连接。通过正确设置和使用 SSH,你可以更加安全地管理远程主机,并提高工作效率。

目录
相关文章
|
2天前
|
Ubuntu Linux
Linux(22) Linux设置网络优先级顺序
Linux(22) Linux设置网络优先级顺序
3 0
|
6天前
|
网络协议 安全 Linux
IDEA通过内网穿透实现固定公网地址远程SSH连接本地Linux服务器
IDEA通过内网穿透实现固定公网地址远程SSH连接本地Linux服务器
|
13天前
|
Linux 数据安全/隐私保护
Linux设置PPPOE
请注意,以上步骤是基本的设置流程。具体步骤可能会因Linux发行版和版本的不同而有所差异,确保按照你所使用的系统来进行设置。如果使用图形界面,也可以在网络设置中配置PPPoE连接。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
21 0
|
16天前
|
安全 Unix Linux
一、linux 常用命令之 linux版本信息 系统管理与设置 持续更新******
一、linux 常用命令之 linux版本信息 系统管理与设置 持续更新******
16 0
|
8月前
|
安全 Ubuntu Linux
如何在 Linux 中设置 SSH 无密码登录
如何在 Linux 中设置 SSH 无密码登录
164 0
|
弹性计算 监控 Ubuntu
Ubuntu的SSH安全配置,查看SSH登录日志文件,修改默认端口,UFW配置防火墙,禁止root用户登录,禁用密码登陆,使用RSA私钥登录,使用 Fail2ban 工具,使用两步验证(2FA)
Ubuntu的SSH安全配置,查看SSH登录日志文件,修改默认端口,UFW配置防火墙,禁止root用户登录,禁用密码登陆,使用RSA私钥登录,使用 Fail2ban 工具,使用两步验证(2FA)
1805 0
|
网络安全 数据安全/隐私保护
SSH免密码登录(设置后仍需输密码的原因及解决方法)
ssh免密码登录的原理: 机器A 向 机器B 进行免密码登陆 step1:  在机器A中生成 私钥和公钥: ssh-keygen -t rsa 此时在 ~/.
5498 0
|
机器学习/深度学习 人工智能 Linux
|
分布式计算 安全 网络协议
实现ssh的无密码登录
这里所说的ssh是指OpenSSH SSH客户端,是用于登录远程主机,并且在远程主机上执行命令。它的目的是替换rlogin和rsh,同时在不安全的网络之上,两个互不信任的主机之间,提供加密的、安全的通信连接。X11连接和任意TCP/IP端口均可以通过此安全通道转发。
157 0
|
网络安全 开发工具 数据安全/隐私保护
SSH免密码登录配置
SSH免密码登录配置
236 0