关于Linux中免密登陆说明

1. SSH简介

Secure Shell 协议,简称 SSH,是一种加密网络协议,用于客户端和主机之间的安全连接,并支持各种身份验证机制,目前最实用的身份验证机制就是基于密码的身份验证和基于公钥的身份验证两种。不过今天小编带来的是,Linux系统如何设置基于 SSH 密钥的身份验证,以及如何免密连接到主机的教程。

2. 设置 SSH 无密码登录

在Linux 系统中设置 SSH 免密登录,需要生成公共身份验证密钥并将其附加到远程主机 /.ssh/authorized_keys 文件,以下具体讲解配置 SSH 免密登录的详细步骤。

2.1 检查现有的 SSH 密钥对

在生成新的 SSH 密钥对之前,首先检查主机上是否已有 SSH 密钥,主要是为了不覆盖现有密钥。运行以下Is 命令以查看是否存在现有 SSH 密钥:

ls -al ~/.ssh/id_*.pub

在这里插入图片描述

如果存在现有密钥,可以使用这些密钥并跳过下一步,或备份旧密钥并生成新密钥。如果看到 No such file or directoryno matches found 意味着没有 SSH 密钥,则可以继续执行下一步并生成新密钥。

2.2 生成新的 SSH 密钥对。

以下命令将生成一个新的SSH 密钥对:

ssh-keygen

# 生成一个4096位的密钥
ssh-keygen -t rsa -b 4096

按 Enter 接受则默认文件位置和文件名:

Enter file in which to save the key (/root/.ssh/id_rsa):

接下来,ssh-keygen 工具将要求键入安全密码,无论是否想要使用密码短语都可以您,如果选择使用密码短语,将获得额外的安全保护。在大多数情况下,开发人员和系统管理员使用 SSH 而不使用密码,因为它们对完全自动化的流程很有用。如果不想使用密码短语,请按 Enter:

Enter passphrase(empty for no passphrase):

在这里插入图片描述

2.3 复制公钥

现在已经生成了 SSH 密钥对,为了能够在没有密码的情况下登录到主机,需要将公钥复制到要管理的主机。将公钥复制到主机的最简单方法是使用名为的命令 ssh-copy-id 。在本地主机终端类型:

ssh-copy-id root@192.168.126.131

系统将提示输入 root的密码:

root@192.168.126.131 password:

在这里插入图片描述

用户通过身份验证后,公钥将附加到远程用户 authorized_keys 文件,并且将关闭连接。如果由于某种原因, ssh-copy-id 本地主机上没有该实用程序,则可以使用以下命令复制公钥:

cat ~/.ssh/id_rsa.pub | ssh remote_username@server_ip_address "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

2.4 使用 SSH 密钥登录

完成上述步骤后,就能够登录到远程主机而不会被提示输入密码,测试口令:


ssh root@192.168.126.131

在这里插入图片描述

2.5 查看公钥与私钥

2.5.1 保存目录

cd /root/.ssh

在这里插入图片描述

  • id_ras:私钥
  • id_ras.pub:公钥
  • known_hosts:已接收到公钥

2.5.2 查看私钥

cat id_ras

在这里插入图片描述

2.5.3 查看公钥

cat id_rsa.pub

在这里插入图片描述

2.5.4 查看已接收的公钥

在这里插入图片描述

3. 禁用 SSH 密码验证

要为主机添加额外的安全层,可以禁用 SSH 的密码身份验证。在禁用 SSH 密码身份验证之前,请确保可以在没有密码的情况下登录到服务器,并且登录的用户具有 sudo 权限。

3.1 使用具有 sudo 权限的用户或 root 用户,通过 SSH 密钥登录到远程主机:

ssh root@192.168.126.131

3.2 打开 SSH 配置文件/etc/ssh/sshd_config ,搜索以下指令并按如下方式进行修改:


PasswordAuthentication no

ChallengeResponseAuthentication no

UsePAM no

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

在Ubuntu或Debian 服务器上,运行命令:

sudo systemctl restart ssh

在CentOS或Fedora服务器上,运行命令:

sudo systemctl restart sshd
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值