当前位置:首页 > RockyLinux > 正文

RockyLinux ssh-copy-id命令详解(手把手教你实现SSH免密登录)

在使用Linux服务器时,频繁输入密码不仅麻烦,还存在安全隐患。通过SSH密钥认证可以实现安全、便捷的免密登录。本文将详细讲解如何在RockyLinux系统中使用ssh-copy-id命令快速复制SSH公钥到远程服务器,实现一键免密登录。即使你是Linux新手,也能轻松上手!

RockyLinux ssh-copy-id命令详解(手把手教你实现SSH免密登录) ssh-copy-id  SSH密钥复制 免密登录Linux RockyLinux安全远程登录 第1张

什么是 ssh-copy-id?

ssh-copy-id 是一个非常实用的命令行工具,用于将本地用户的SSH公钥自动复制到远程服务器的 ~/.ssh/authorized_keys 文件中。一旦完成此操作,你就可以无需密码直接通过SSH登录目标服务器。

前提条件

  • 本地计算机已安装OpenSSH客户端(大多数Linux和macOS系统默认包含)
  • 远程RockyLinux服务器已启用SSH服务(通常默认开启)
  • 你拥有远程服务器的用户名和密码(仅首次使用需要)

步骤一:生成SSH密钥对(如尚未生成)

如果你还没有SSH密钥对,请在本地终端执行以下命令:

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

系统会提示你选择保存位置(直接回车使用默认路径 ~/.ssh/id_rsa)和设置密码(passphrase,可选)。完成后,你的公钥将保存在 ~/.ssh/id_rsa.pub 中。

步骤二:使用 ssh-copy-id 复制公钥到RockyLinux服务器

假设你的远程服务器IP为 192.168.1.100,用户名为 rockyuser,执行以下命令:

ssh-copy-id rockyuser@192.168.1.100

系统会提示你输入远程用户的密码。输入正确密码后,ssh-copy-id 会自动将你的公钥追加到远程服务器的 ~/.ssh/authorized_keys 文件中。

如果SSH端口不是默认的22,比如是2222,可以使用 -p 参数指定端口:

ssh-copy-id -p 2222 rockyuser@192.168.1.100

步骤三:测试免密登录

现在尝试SSH登录远程RockyLinux服务器:

ssh rockyuser@192.168.1.100

如果一切正常,你将无需输入密码即可成功登录!这说明SSH密钥复制已成功完成。

常见问题与解决方法

  • 提示“Permission denied (publickey)”:请确认远程服务器的 /etc/ssh/sshd_config 中启用了 PubkeyAuthentication yes,并重启SSH服务:sudo systemctl restart sshd
  • ssh-copy-id 命令未找到:在某些最小化安装的系统中可能未预装该工具。可在RockyLinux中通过 sudo dnf install openssh-clients 安装。
  • 远程目录权限问题:确保远程用户的 ~/.ssh 目录权限为700,authorized_keys 文件权限为600。

总结

通过使用 ssh-copy-id 命令,你可以轻松实现RockyLinux安全远程登录,大幅提升运维效率并增强系统安全性。掌握这项技能,是迈向专业Linux管理的重要一步。希望本教程能帮助你顺利完成RockyLinux ssh-copy-id配置,享受无密码登录的便捷体验!

关键词回顾:RockyLinux ssh-copy-id、SSH密钥复制、免密登录Linux、RockyLinux安全远程登录