【发布时间】:2018-03-21 03:45:41
【问题描述】:
我有一个独立的 Tomcat 应用程序,其中嵌入了 CRaSH shell 库。 我可以通过 telnet 成功连接到应用程序,但我在使用 ssh 时遇到了困难。
这是我的 crash.properties 配置:
# Key authentication
crash.auth=key
crash.auth.key.path=/usr/share/tomcat8/conf/id_rsa.pem
# SSH configuration
crash.ssh.port=2000
我已经通过 ssh-keygen 生成了一个 ssh 密钥对,然后我通过openssl rsa -in id_rsa -outform pem -pubout > id_rsa.pem 命令创建了一个 pem 文件。
无论使用什么 ssh 密钥,当我尝试通过ssh -i /usr/share/tomcat8/conf/id_rsa -p 2000 myserver.example.com 命令连接时都会出现错误:
Permission denied (publickey).
我已经尝试了here 描述的解决方案,但没有成功。我还尝试将 id_rsa.pem 密钥放在我的 war /WEB-INF/sshd 文件夹中。结果一样。
有什么线索吗?
【问题讨论】:
-
您可能还需要为该 ssh 命令提供端口号。 SSH 默认为 22,所以你需要告诉它使用端口 2000。试试
ssh -i /path/to/private/key myserver.example.com:2000 -
抱歉忘记在我的 ssh 命令中提及它:我使用 -p 2000 和相同的结果。
-
假设你还没有得到这个工作,尝试启用详细模式的 ssh 可能会有所帮助(在命令行中添加 -v 参数),这样你就可以获得更多关于为什么它的信息认为它不起作用。