gpt4 book ai didi

java - Cloudera 向导步骤 "Install Agent"期间的 SSH 问题

转载 作者:太空宇宙 更新时间:2023-11-04 09:12:03 24 4
gpt4 key购买 nike

我尝试在服务器 A 和 B (Ubuntu 18.04) 上安装 HBase

为此,我使用服务器 A 上安装的 CDM (CDM 6.3.1~1466458.ubuntu1804) 来处理服务器 A 和 B 上的 HBASE 安装。

但是我在“安装代理”步骤中遇到问题,向导显示以下错误消息“可用的身份验证方法已耗尽”。

我在 Cloudera 论坛上找到了一些帖子,其中谈到将 NOPASSWD 添加到服务器 B 的 sudoers 文件中,但就我而言,我已经在命令行中建立了从服务器 A 到服务器 B 的 ssh 连接,并在没有任何密码的情况下运行 sudo 命令,所以我认为我的服务器配置正确。

准确地说,我尝试使用私钥连接我的服务器,我已使用以下命令在服务器 A 中生成了一对 key :

ssh-keygen -t rsa

然后将生成的文件.ssh/id_rsa.pub的内容添加到服务器B的.ssh/authorized_keys文件中,重试后得到相同的结果。

我在日志文件中找到了此跟踪:

2020-01-02 09:48:39,559 WARN NodeConfiguratorThread-22-0:com.cloudera.server.cmf.node.NodeConfigurator: Could not authenticate to SERVER_B net.schmizz.sshj.userauth.UserAuthException: Exhausted available authentication methods at net.schmizz.sshj.SSHClient.auth(SSHClient.java:232) at net.schmizz.sshj.SSHClient.auth(SSHClient.java:208) at com.cloudera.server.cmf.node.NodeConfigurator.connect(NodeConfigurator.java:416) at com.cloudera.server.cmf.node.NodeConfigurator.configure(NodeConfigurator.java:1028) at com.cloudera.server.cmf.node.NodeConfigurator.run(NodeConfigurator.java:1106) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748)

Caused by: net.schmizz.sshj.userauth.UserAuthException: Problem getting public key from PKCS8KeyFile{resource=[PrivateKeyStringResource]} at net.schmizz.sshj.userauth.method.KeyedAuthMethod.putPubKey(KeyedAuthMethod.java:46) at net.schmizz.sshj.userauth.method.AuthPublickey.buildReq(AuthPublickey.java:62) at net.schmizz.sshj.userauth.method.AuthPublickey.buildReq(AuthPublickey.java:81) at net.schmizz.sshj.userauth.method.AbstractAuthMethod.request(AbstractAuthMethod.java:63) at net.schmizz.sshj.userauth.UserAuthImpl.authenticate(UserAuthImpl.java:68) at net.schmizz.sshj.SSHClient.auth(SSHClient.java:226) ... 9 more

Caused by: java.io.IOException: unrecognised object: OPENSSH PRIVATE KEY at org.bouncycastle.openssl.PEMParser.readObject(Unknown Source) at net.schmizz.sshj.userauth.keyprovider.PKCS8KeyFile.readKeyPair(PKCS8KeyFile.java:132) at net.schmizz.sshj.userauth.keyprovider.PKCS8KeyFile.getPublic(PKCS8KeyFile.java:78) at net.schmizz.sshj.userauth.method.KeyedAuthMethod.putPubKey(KeyedAuthMethod.java:44)

... 14 more

有人有办法帮助我吗?

最佳答案

我遇到了完全相同的问题,结果 ssh-keygen 使用 BEGIN OPENSSH PRIVATE KEY 创建了一个私钥文件,Cloudera 使用的 Java 库不知道如何解析。您可以使用 openssl 和如下命令:

openssl genrsa -out mykey.pem 1024

ssh-keygen不同,它不会为您提供所需的公钥,并且从私钥获取公钥的内置openssl命令不采用Cloudera接受的格式。对于那个,您可以使用ssh-keygen,如下所示:

ssh-keygen -y -f mykey.pem > mykey.pub

关于java - Cloudera 向导步骤 "Install Agent"期间的 SSH 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59561339/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com