【发布时间】:2012-10-05 23:30:46
【问题描述】:
我需要在 Perl 中打开一个 SFTP 连接,并且我需要使用 dsa 密钥文件,但出于安全原因,我实际上不能将文件存储在硬盘上。我正在尝试使用 Net::SFTP。
my $sftp = Net::SFTP->new(
$host, user=>"$userid",
ssh_args => {
identity_files => [ $pathToInMemoryKeyFile ]
}
);
我想我知道如何获取表示为内存文件句柄的字符串,但我不知道如何获取该文件句柄的路径,以便可以将其作为 ssh_args 之一传递。有人有什么建议吗?
谢谢!
【问题讨论】:
-
听起来你需要一个内存文件系统,那么剩下的就很简单了。然后,解决方案将取决于主机操作系统。
-
您可以创建一个命名管道并将名称传递给命名管道。
-
一种解决方法是使用 ssh-agent 进行授权。