使用 scp -r ./zookeeper-3.4.6/ node03:'pwd'报Permission denied (publickey,gssapi-keyex,gssapi-with-mic).错误怎么办
时间: 2023-09-29 07:03:22 浏览: 46
这个错误通常是因为你没有正确设置 SSH 公钥认证。可以按照以下步骤来解决问题:
1. 确保你的本地机器上有 SSH 公钥和私钥,如果没有可以使用 ssh-keygen 命令生成。
2. 将你的 SSH 公钥添加到远程机器的 authorized_keys 文件中,可以使用 ssh-copy-id 命令来完成。
3. 确认你能够通过 SSH 登录到远程机器上,可以使用 ssh 命令来测试。
如果你已经确认了以上步骤,但还是无法通过 scp 命令传输文件,可以尝试在命令末尾加上 -i 选项指定你的私钥文件,例如:
```
scp -r -i /path/to/private/key ./zookeeper-3.4.6/ node03:'pwd'
```
如果还是无法解决问题,可以考虑查看远程机器的 SSH 日志,通常在 /var/log/auth.log 或 /var/log/secure 中,看看是否有更详细的错误信息。
相关问题
root@10.4.220.102: Permission denied (publickey,gssapi-keyex,gssapi-with-mic). scp: Connection closed
这个错误提示表明你在使用scp命令时出现了权限问题,可能是因为你没有正确配置SSH密钥认证。以下是解决方案:
1. 确认你的SSH密钥是否正确配置。你可以使用以下命令检查:
```shell
cat ~/.ssh/id_rsa.pub
```
如果没有输出,则说明你需要重新生成SSH密钥。
2. 如果你需要使用root用户登录,确保你已经启用了root用户的SSH登录权限。你可以通过编辑sshd_config文件来启用root用户的SSH登录权限:
```shell
sudo vim /etc/ssh/sshd_config
```
找到PermitRootLogin并将其设置为yes。
3. 确认你的SSH服务是否已经启动。你可以使用以下命令检查:
```shell
sudo systemctl status sshd
```
如果SSH服务没有启动,则需要启动它:
```shell
sudo systemctl start sshd
```
4. 如果你使用的是防火墙,确保你已经打开了SSH端口。你可以使用以下命令检查:
```shell
sudo ufw status
```
如果SSH端口没有打开,则需要打开它:
```shell
sudo ufw allow ssh
```
hadoop3: root@hadoop3: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
根据提供的引用内容,hadoop3出现了权限被拒绝的问题。为了解决这个问题,你可以按照以下步骤进行操作:
1. 首先,你需要检查hadoop3主机上是否已经存在公钥文件。你可以通过运行以下命令来检查:`ls ~/.ssh/id_rsa.pub`。如果该文件不存在,请按照引用中的说明生成公钥文件。
2. 然后,你需要将公钥文件添加到hadoop3主机的授权文件中。你可以通过运行以下命令来实现:`cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys`。确保在运行此命令之前,你已经在hadoop3主机上登录为root用户。
3. 接下来,你需要为授权文件设置正确的权限。你可以通过运行以下命令来实现:`chmod 0600 ~/.ssh/authorized_keys`。这将确保只有root用户才有读取和写入该文件的权限。
4. 最后,你需要将授权文件发送到其他主机,包括hadoop1和hadoop2。你可以通过运行以下命令来实现:`scp ~/.ssh/authorized_keys root@hadoop1:/root/.ssh/`和`scp ~/.ssh/authorized_keys root@hadoop2:/root/.ssh/`。这将把授权文件复制到hadoop1和hadoop2主机的相应目录中。
完成以上步骤后,你应该能够解决hadoop3主机上的权限问题,并成功访问hadoop集群。