无法配置PubkeyAuthentication yesAuthorizedKeysFile .ssh/authorized_keys
时间: 2023-06-24 17:08:51 浏览: 118
这个问题通常出现在SSH服务器的配置文件中,可能是由于以下原因导致的:
1. 配置文件中没有启用公钥验证,需要将"PubkeyAuthentication"设置为"yes"。
2. "AuthorizedKeysFile"路径设置不正确,应该指向包含公钥的文件的路径。默认情况下,该路径应该是".ssh/authorized_keys",而不是".ssh/authorized_keys.pub"。
3. 公钥文件的权限不正确,需要将其权限设置为600或更高,这可以通过运行"chmod 600 ~/.ssh/authorized_keys"来完成。
如果您仍然无法解决此问题,请检查SSH服务器的日志文件以获取更多详细信息。
相关问题
做Hadoop免密登录时,运行ssh-copy-id -i ~/.ssh/id_rsa.pub node1 出现错误,提示“ssh: connect to host machineB port 22: Connection refused”,请你分析问题的原因、并描述问题的解决思路。
这个错误提示表明连接被拒绝,可能是因为机器B的SSH服务没有启动或者防火墙阻止了SSH连接。为了解决这个问题,可以按照以下步骤进行:
1. 确保机器B的SSH服务已经启动。可以通过在机器B上输入命令“sudo service sshd status”来检查SSH服务的状态。
2. 确保机器B的防火墙允许SSH连接。可以通过在机器B上输入命令“sudo ufw allow ssh”来允许SSH连接。
3. 确保机器B的SSH配置文件允许公钥认证。可以通过在机器B上编辑SSH配置文件“/etc/ssh/sshd_config”,并确保以下两项设置为“yes”:
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
4. 确保机器B上的“~/.ssh”目录和“authorized_keys”文件的权限正确。可以通过在机器B上输入命令“chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys”来设置正确的权限。
以上是一些可能导致ssh-copy-id失败的原因和解决方案。希望能够帮助到你。
/etc/ssh/sshd_confi
/etc/ssh/sshd_config 是SSH(Secure Shell)服务器的主要配置文件。它定义了sshd服务的各种参数和行为,包括端口、认证方式、防火墙规则、允许的连接选项等。以下是几个关键配置示例:
1. **Server Port**[^4]:
```bash
Port 22
```
定义SSH监听的默认端口,这里是22。
2. **Authentication**[^5]:
```bash
PasswordAuthentication yes/no
PubkeyAuthentication yes/no
```
指定是否允许密码(PasswordAuthentication)或公钥(PubkeyAuthentication)登录。
3. **User Authentication**[^6]:
```bash
ChallengeResponseAuthentication yes/no
UsePAM yes/no
```
关于挑战响应验证和PAM模块的启用。
4. **Firewall Settings**[^7]:
```bash
PermitRootLogin no
AllowUsers user1 user2
```
控制root用户的远程登录和允许特定用户登录。
5. **Key Management**[^8]:
```bash
AuthorizedKeysFile %h/.ssh/authorized_keys
```
指定存放用户授权密钥的文件位置。
要查看或修改这些设置,通常使用文本编辑器(如`vi`, `nano`, 或 `vim`),并重启SSH服务以应用更改。然而,请注意,直接编辑此文件可能涉及权限管理,需要具有root权限。
阅读全文