IT袋

当前位置:主页 > 经验教程 > 系统教程 >

如何在Linux系统中设置SSH密钥身份验证

如何在Linux系统中设置SSH密钥身份验证(5)

时间:2024-03-08 20:49:32 来源:IT袋 作者:马勇
导读:如何在Linux系统中设置SSH密钥身份验证,sshd_config  文件: sudo nano /etc/ssh/sshd_config 找到并修改以下行: PasswordAuthentication no 保存文件并重新启动 SSH 服务: sudo service ssh restart 此时,只有拥有合法

如何在Linux系统中设置SSH密钥身份验证

sshd_config 文件:

sudo nano /etc/ssh/sshd_config

找到并修改以下行:

PasswordAuthentication no

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

sudo service ssh restart

此时,只有拥有合法私钥的用户才能成功进行 SSH 登录。

使用sshd_config文件设置访问限制

sshd_config 文件包含了配置 SSH 服务器行为的各种选项。通过修改这个文件,可以实现对访问的更精确控制。

sudo nano /etc/ssh/sshd_config
限制用户和IP地址
AllowUsers username@your_ip

这个配置将只允许指定用户从指定 IP 地址进行 SSH 登录。

修改SSH端口

默认情况下,SSH 服务使用 22 端口。为了提高安全性,可以修改为其他非常用端口,比如 2222:

Port 2222

确保保存修改并重新启动 SSH 服务。

使用SSH Agent Forwarding

什么是SSH Agent Forwarding

SSH Agent Forwarding 是一种机制,允许你在本地系统上解锁私钥,然后通过安全地转发到远程主机,以在远程主机上进行身份验证。

这意味着,如果你已经通过密钥身份验证登录到本地机器,你可以使用相同的身份验证在远程主机上执行操作,而无需再次输入密码或私钥。

配置和使用SSH Agent Forwarding

1、在本地机器上启动 SSH Agent:

eval "$(ssh-agent -s)"

2、添加私钥到代理:

ssh-add ~/.ssh/id_rsa

3、在连接到远程主机时启用 Agent Forwarding:

ssh -A username@your_server_ip

确保替换username为你的用户名,your_server_ip 为目标服务器的 IP 地址。

现在,你可以在远程主机上执行需要私钥身份验证的操作,而无需再次输入密码或私钥。

安全注意事项

尽管 SSH Agent Forwarding 提供了便利,但也需要注意一些安全性问题。确保遵循以下最佳实践:

  • 只允许受信任的主机使用 Agent Forwarding。如果你连接到了不受信任的主机,可以通过使用-A参数禁用 Agent Forwarding。
  • 定期检查代理并清除不再需要的密钥。使用ssh-add -L命令查看当前加载的密钥列表,并使用ssh-add -D清除不再需要的密钥。
  • 在不需要 Agent Forwarding 的情况下禁用它。只有在确实需要在远程主机上执行私钥身份验证的操作时才启用 Agent Forwarding。

通过理解和正确配置 SSH Agent Forwarding,你可以在保持安全性的同时提高 SSH 的便利性。

相关阅读