怎么创建authorized_keys
时间: 2024-05-10 11:17:04 浏览: 298
在Linux系统中,可以使用以下步骤创建 `authorized_keys` 文件:
1. 打开终端并登录到您的服务器。
2. 使用以下命令创建一个 `.ssh` 目录(如果它不存在):
```
mkdir -p ~/.ssh
```
3. 使用以下命令创建一个 `authorized_keys` 文件(如果它不存在):
```
touch ~/.ssh/authorized_keys
```
4. 使用以下命令打开 `authorized_keys` 文件并将您的 SSH 公钥粘贴到文件中:
```
nano ~/.ssh/authorized_keys
```
5. 按 `Ctrl + X`,然后按 `Y` 保存文件并退出文本编辑器。
6. 确保 `authorized_keys` 文件的权限设置正确。使用以下命令更改权限:
```
chmod 600 ~/.ssh/authorized_keys
```
现在您可以使用您的私钥连接到服务器,系统将根据 `authorized_keys` 文件中的公钥进行身份验证。
相关问题
用nano ~/.ssh/authorized_keys打开authorized_keys文件后我该如何将本地计算机上的公钥粘贴到打开的authorized_keys文件中
在打开的authorized_keys文件中,你可以将本地计算机上的公钥粘贴进去,每个公钥应该占据一行,并且在行末应该添加一个换行符。
一般情况下,你可以使用以下命令将本地计算机上的公钥粘贴到远程服务器的authorized_keys文件中:
1. 打开本地计算机上的终端。
2. 运行以下命令来将公钥复制到剪贴板中:
```
pbcopy < ~/.ssh/id_rsa.pub
```
如果你的公钥文件名不是id_rsa.pub,请将其替换为正确的文件名。
3. 连接到远程服务器,并打开authorized_keys文件:
```
ssh username@remote_server
nano ~/.ssh/authorized_keys
```
请将username替换为你的用户名,remote_server替换为远程服务器的地址或IP地址。
4. 在打开的authorized_keys文件中,将本地计算机上的公钥粘贴到其中,并确保每个公钥占据一行,并在行末添加一个换行符。
5. 按下Ctrl + X,输入Y,然后按下Enter键保存并退出文件。
现在你应该已经成功将本地计算机上的公钥添加到远程服务器的authorized_keys文件中了。
~/.ssh/authorized_keys -bash: /root/.ssh/authorized_keys: Permission denied
当你尝试访问`~/.ssh/authorized_keys`文件并遇到"Permission denied"错误时,通常意味着当前用户没有足够的权限读取这个文件。`.ssh/authorized_keys`文件通常是SSH密钥认证的一部分,存储了允许远程登录的公钥信息,为了保护安全,它通常会设置为只有所有者(这里是`root`)或`ssh`用户组可以读取。
解决这个问题,你可以按照以下步骤操作:
1. **检查权限**:运行`ls -ld ~/.ssh/authorized_keys`查看文件的权限,确认是否只有owner或group有读取权限。如果是,需要修改权限。
2. **改变所有者或组**:使用`chown`命令将文件所有者改为当前用户(如`username`),或者添加当前用户到`ssg`组然后运行`chmod`命令给该组读取权限。
```sh
sudo chown username:.ssh/authorized_keys
# 或者如果不在ssg组内
sudo usermod -aG ssh username
sudo chmod g+r ~/.ssh/authorized_keys
```
3. **临时切换用户**:如果你作为root或其他有足够权限的用户,可以用`su - username`临时切换到目标用户,然后再试能否访问。
4. **确定是否有其他权限问题**:如果以上操作仍然失败,检查是否有其他文件夹(如`~/.ssh`)的权限问题,因为SSH可能会依赖整个目录的权限设置。
阅读全文
相关推荐

















