Git 添加SSH Key到authorized_keys:权限被拒绝(publickey)

Git 添加SSH Key到authorized_keys:权限被拒绝(publickey)

在本文中,我们将介绍如何向authorized_keys文件添加SSH Key时遇到的权限被拒绝(publickey)错误,并提供解决该问题的示例说明。

阅读更多:Git 教程

什么是SSH Key和authorized_keys文件

SSH Key是一种用于身份验证的加密密钥对,包括公钥和私钥。公钥存储在服务器上的authorized_keys文件中,而私钥则由用户保管。当用户通过SSH协议连接到远程服务器时,它会使用SSH Key进行身份验证。

authorized_keys文件位于服务器的用户家目录下的.ssh文件夹中。这个文件中保存了可以进行SSH连接的公钥。

问题描述

当我们尝试将SSH Key添加到authorized_keys文件时,有时会遇到权限被拒绝(publickey)错误。这个错误通常是由于文件权限或文件夹权限设置不正确所导致的。

解决方案

以下是一些解决权限被拒绝(publickey)错误的可能方案:

1. 检查文件权限

确保authorized_keys文件的权限设置正确。在终端中,使用以下命令检查文件权限:

ls -l ~/.ssh/authorized_keys

确保该文件的权限为600,即只有文件所有者具有读写权限,其他用户没有权限。

如果权限不正确,可以使用以下命令修复:

chmod 600 ~/.ssh/authorized_keys

2. 检查文件夹权限

除了检查authorized_keys文件的权限,还需要确保.ssh文件夹的权限设置正确。使用以下命令检查文件夹权限:

ls -ld ~/.ssh

确保该文件夹的权限为700,即只有文件夹所有者可以进入该文件夹。

如果.ssh文件夹权限不正确,可以使用以下命令修复:

chmod 700 ~/.ssh

3. 检查SSH Key格式

如果文件和文件夹权限设置正确,但仍然遇到权限被拒绝(publickey)错误,可能是由于SSH Key格式不正确所导致。确保在将SSH Key添加到authorized_keys文件之前,正确地生成和复制了公钥。

4. 检查SSH服务配置

在某些情况下,权限被拒绝(publickey)错误可能是由于服务器上的SSH服务配置问题导致的。确保SSH服务已正确配置为接受和使用SSH Key进行身份验证。

示例说明

假设我们的SSH Key位于本地目录下的id_rsa.pub文件中。首先,我们将使用以下命令将SSH Key复制到远程服务器的authorized_keys文件中:

cat ~/.ssh/id_rsa.pub | ssh username@hostname 'cat >> ~/.ssh/authorized_keys'

然后,我们可以使用以下命令分别检查文件和文件夹的权限:

ls -l ~/.ssh/authorized_keys
ls -ld ~/.ssh

如果权限设置正确,我们可以尝试使用SSH Key进行连接,检查是否仍然遇到权限被拒绝(publickey)错误。

总结

通过本文,我们介绍了在将SSH Key添加到authorized_keys文件时,可能遇到的权限被拒绝(publickey)错误,并提供了解决该问题的示例说明。请记住,正确设置文件和文件夹权限以及检查SSH Key格式和SSH服务配置,可以帮助您解决这个问题并成功进行SSH连接。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程