我需要在Perl中打開一個SFTP連接,我需要使用一個dsa密鑰文件,但出於安全原因,我實際上無法將文件存儲在硬盤上。我正在嘗試使用Net :: SFTP。在SFTP中使用內存文件作爲參數
my $sftp = Net::SFTP->new(
$host, user=>"$userid",
ssh_args => {
identity_files => [ $pathToInMemoryKeyFile ]
}
);
我想我知道如何讓表示爲在內存中的文件句柄一個字符串,但我不知道如何獲取該文件句柄的路,使得我可以將它作爲ssh_args之一。有人有任何建議嗎?
謝謝!
這聽起來像你需要一個內存中的文件系統,然後其餘的很容易。該解決方案將取決於主機操作系統。 –
您可以創建一個命名管道並將名稱傳遞給命名管道。 – ikegami
解決辦法之一是使用ssh-agent進行授權。 – Schwern