IT袋

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

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

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

时间:2024-03-08 20:49:32 来源:IT袋 作者:马勇
导读:如何在Linux系统中设置SSH密钥身份验证,~/.ssh/config 文件的作用和结构 ~/.ssh/config  文件是一个用于配置 SSH 客户端行为的配置文件。 它允许你为不同的主机设置自定义的配置选项,从而简化 SSH

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

~/.ssh/config文件的作用和结构

~/.ssh/config 文件是一个用于配置 SSH 客户端行为的配置文件。

它允许你为不同的主机设置自定义的配置选项,从而简化 SSH 连接的管理。

创建~/.ssh/config文件:

touch ~/.ssh/config

编辑~/.ssh/config文件:

nano ~/.ssh/config

使用别名、端口号等配置项简化SSH连接

配置文件中可以包含多个主机条目,每个条目定义了连接到远程主机的配置选项。

以下是一个简单的例子:

Host example
    HostName your_server_ip
    User username
    Port 2222
    IdentityFile ~/.ssh/id_rsa
  • Host:设置别名,用于代替实际的主机名。
  • HostName:远程主机的 IP 地址或域名。
  • User:连接时使用的用户名。
  • Port:SSH 连接的端口号。
  • IdentityFile:指定用于身份验证的私钥文件路径。

实际场景中的示例配置文件

以下是一个更为复杂的 ~/.ssh/config 文件,涵盖了多个主机和配置选项:

Host work
    HostName work.example.com
    User alice
    Port 22
    IdentityFile ~/.ssh/work_key
Host personal
    HostName personal.example.org
    User bob
    Port 2222
    IdentityFile ~/.ssh/personal_key
Host github
    HostName github.com
    User git
    IdentityFile ~/.ssh/github_key

这样,你只需要使用别名就能够轻松连接到相应的主机,而不必记住每个主机的详细信息。

限制和加固SSH访问

禁用密码身份验证

禁用密码身份验证是提高 SSH 安全性的重要步骤之一。

这样,用户只能通过密钥身份验证进行访问,而不再依赖弱密码。

sshd_config中禁用密码身份验证:

1、打开 sshd_config 文件:

sudo nano /etc/ssh/sshd_config

2、找到并修改以下行:

PasswordAuthentication no

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

sudo service ssh restart

使用sshd_config文件设置访问限制

sshd_config 文件包含了用于配置 SSH 服务器的各种选项。

通过适当配置,你可以限制用户访问、定义允许登录的用户、设置登录时的认证方式等。

一些常用的sshd_config选项:
  • AllowUsers:指定允许登录的用户列表。
  • DenyUsers:指定禁止登录的用户列表。
  • AllowGroups

相关阅读