将读取 .ssh/config 的 scala 或 Java 库



我的.ssh/config文件中有一个条目,如下所示:

主机 ip-172-16-*

ProxyCommand ssh jeff@jumpdev.example.org nc %h %p
User ubuntu
IdentityFile ~/.ssh/id_rsa_aws
StrictHostKeyChecking no
ForwardAgent yes

正如大多数人所知,这将允许我运行:ssh ip-172-16-2-108.ec2.internal和我作为 Ubuntu EC2 实例的默认用户 - ubuntu 进入私人服务器。 我希望对创建采取一些具体行动。

最终,我正在寻找的是与scala-sshjassh或直接从jsch相同的功能

我不是在要求任何人建议一个库,只是如何/是否支持此功能。 有了jassh,我尝试使用代理选项,但没有运气。

最终我可以直接掏出ssh,但即使使用ammonite,如果使用%('ssh, Symbol("ip-172-16-2-108.ec2.internal"),它也不会加载配置。 我认为这将使用基本 ssh,它会加载配置并匹配,就像裸 ssh 一样。 我还可以将我的配置设置为不使用nc

这听起来确实像我要求一个库,所以如果它被关闭,那就这样吧,但我直接尝试了 4 个,没有一个,似乎完全支持.ssh/config

TIA, 杰夫

我知道还有其他答案,但我发现通过在我的.ssh/config中从ProxyCommand切换到ProxyJump可以让ammonite完美地工作。 另外,由于我所需要的只是解决此问题的方法,并且已经在使用ammonite,因此这是一个很好的匹配。

如果其他人有其他经验,我认为这是一个很好的问题,因为我们谈论的是特定的库,这些库都是建立在Jcsh之上的。

FWIW,我的.ssh/config现在看起来像:

Host ip-172-16-*
ProxyJump jeff@jumpdev.example.org
User ubuntu
IdentityFile ~/.ssh/id_rsa_aws
StrictHostKeyChecking no
ForwardAgent yes

希望这对某人有所帮助。

最新更新