Linux设置公钥认证并使用密钥登录SSH

📅 发布时间:2026/8/21 7:22:52
Linux设置公钥认证并使用密钥登录SSH 要使用密钥登录SSH您需要按照以下步骤设置公钥认证配置 Linux 与 Unix 服务器1. 生成SSH密钥对首先在本地计算机上生成一个SSH密钥对公钥和私钥。可以通过以下命令来生成ssh-keygen -t rsa -b 4096 -C your_emailexample.comBash-t rsa指定使用RSA算法生成密钥。-b 4096指定密钥长度为4096位。-C “your_emailexample.com”为密钥添加一个注释通常是您的邮箱地址。按照提示操作选择密钥保存路径默认是~/.ssh/id_rsa和可选的密码保护。2. 将公钥复制到远程服务器生成密钥对后您需要将公钥复制到远程服务器的~/.ssh/authorized_keys文件中。您可以手动将公钥复制到服务器或者使用ssh-copy-id工具。使用ssh-copy-id工具的命令如下ssh-copy-id usernameremote_hostBash此命令会将您的公钥添加到远程服务器的~/.ssh/authorized_keys文件中。3. 配置SSH服务器确保远程服务器的SSH配置允许公钥认证。编辑远程服务器上的/etc/ssh/sshd_config文件检查以下设置PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keysText然后重新启动SSH服务sudo systemctl restart sshdBash4. 使用密钥登录现在您可以通过SSH使用密钥登录到远程服务器命令如下ssh -i ~/.ssh/id_rsa usernameremote_hostBash如果您的私钥文件不是默认的id_rsa需要通过-i选项指定私钥文件的路径。5. 可选禁用密码认证如果您希望只使用密钥登录并禁用密码认证可以在/etc/ssh/sshd_config中进行以下配置PasswordAuthentication noText然后再次重启SSH服务sudo systemctl restart sshdBash这样您的SSH服务器将只允许通过密钥进行认证禁止密码登录。