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

来源:这里教程网 时间:2026-03-25 14:08:12 作者:

在使用Linux服务器时,频繁输入密码不仅麻烦,还存在安全隐患。通过SSH密钥认证可以实现安全、便捷的免密登录。本文将详细讲解如何在RockyLinux系统中使用

ssh-copy-id
命令快速复制SSH公钥到远程服务器,实现一键免密登录。即使你是Linux新手,也能轻松上手!

什么是 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安全远程登录

相关推荐

热文推荐