在erlang中使用ssh模块,可以建立与远程服务器的连接。
此类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,}],但我不清楚这是否是实现此目的的方法。
答案 0 :(得分:1)
我能够通过在id_rsa
以外的文件夹中使用名称~/.ssh
复制pem文件来使其工作(因此它不会覆盖您已经设置的任何密钥),例如~/keys
,然后传递ssh:connect/3
选项{user_dir, "~/keys"}
。它将重命名的pem作为rsa密钥。