使用 ssh erlang 中的模块,可以建立到远程服务器的连接。
此类 API 中指示了多个选项,但我不清楚哪一个选项允许我建立仅通过使用 .pem 文件进行身份验证来强制执行的连接。
例如,在 OS shell 中使用 ssh 命令,我可以使用这个连接到我的主机:
ssh -c 3des -2 -l root -i MYPERMISSIONFILE.PEM myhost.mydomain.com -p 22
在 Erlang 中,ssh 模块有一个 fd 选项 { fd,
ssh:start().
ssh:connect("myhost.mydomain.com",22, ???????? ).
有几个安全选项,我相信 .pem 文件的内容可以用作安全选项之一,但那将是 1700 个字符!可以选择使用文件描述符 [ {fd, } ],但我不清楚这是否是实现此目的的方法。
最佳答案
我能够通过在 ~/.ssh
以外的文件夹中使用名称 id_rsa
复制 pem 文件来使其工作(因此它不会覆盖任何您已经设置的 key ),例如~/keys
,然后传递给 ssh:connect/3
选项 {user_dir, "~/keys"}
。它选择重命名的 pem 作为 rsa key 。
关于erlang - 如何使用 PEM key 文件在 Erlang 中通过 SSH 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16848758/