Linux 系统的免密登录功能通常是通过 SSH 的密钥认证机制来实现的,这样你就可以在不输入密码的情况下登录到远程系统。这不仅方便,而且比使用密码认证更安全。以下是配置 SSH 免密登录的步骤:

1. 在本地系统生成 SSH 密钥对

首先,你需要在本地计算机上生成一对 SSH 密钥(一个私钥和一个公钥)。如果你已经有了 SSH 密钥对,可以跳过这一步。生成密钥对的命令如下:

ssh-keygen -t rsa -b 4096
  • -t rsa 指定密钥类型为 RSA,这是最常用的类型。
  • -b 4096 指定密钥长度为 4096 位,这比默认的 2048 位更安全。

执行此命令后,系统会提示你输入文件保存路径(如果接受默认,直接按 Enter 键),以及设置密钥的密码(如果希望实现免密登录,此处直接按 Enter 键留空)。

2. 将公钥复制到远程服务器

生成密钥对后,你需要将公钥文件(默认是 ~/.ssh/id_rsa.pub)复制到远程服务器上你希望免密登录的账户的 ~/.ssh/authorized_keys 文件中。可以使用 ssh-copy-id 命令来自动完成这个过程:

ssh-copy-id 用户名@远程服务器地址

如果远程服务器禁用了 ssh-copy-id 或者你希望手动完成这个过程,也可以使用 scp 将公钥文件传输到远程服务器,然后手动添加到 ~/.ssh/authorized_keys 文件中。

3. 测试免密登录

完成公钥复制后,尝试使用 ssh 命令登录远程服务器:

ssh 用户名@远程服务器地址

如果一切设置正确,系统将不再提示你输入密码即可登录到远程服务器。

注意事项

  • 确保远程服务器的 ~/.ssh 目录以及 ~/.ssh/authorized_keys 文件的权限设置正确。通常,~/.ssh 目录的权限应该是 700(即只有所有者有读写执行权限),authorized_keys 文件的权限应该是 600(即只有所有者有读写权限)。

  • 如果在尝试免密登录时遇到问题,可以尝试在 ssh 命令后加上 -v 参数来启用详细模式,这样可以看到连接过程中的详细信息,帮助诊断问题。

通过上述步骤,你可以在 Linux 系统之间设置免密 SSH 登录。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐