2

2 つのドライブをマップする Perl スクリプトがあり、ドライブの 1 つから別のドライブにファイルをコピーします。Perl スクリプトは Windows ボックスにありますが、スクリプトを実行するために Linux ボックスから Windows ボックスに SSH 接続しています。Windows ボックスからスクリプトを直接実行すると、すべて問題なく動作し、ドライブがマップされ、ファイルが正常にコピーされます。SSH 経由で Linux ボックスからスクリプトを実行しようとすると、スクリプトが失敗し、次の出力が表示されます。

ローカル デバイス名は既に使用されています。

ソース \\xxx.xxx.net\localdirectory のマッピング エラー

このエラーは、最初のドライブをマップしようとしたときに発生します。2 番目のドライブでも失敗するかどうかはわかりません。

これと同じ方法で(LinuxからWindowsボックスへのsshを介して)実行される他のいくつかのPerlスクリプトがあり、問題なく実行されますが、ドライブをマップするのはこれだけです。これは、スクリプトを実行するために使用しているコードです。

#!/bin/sh

ssh -t -t user@server "cd /Path/to/Perl/Script; /cygdrive/C/Perl/bin/perl.exe Script.pl"
4

2 に答える 2

1

あなたの ssh デーモンはどのユーザーとして実行されていますか? おそらくシステム。私が思い出す限り、そのユーザーにはネットワーク ドライブをマップする権限がありません。Samba を直接使用して Linux ボックスでこれを行うことはできませんか?

于 2012-06-28T18:58:06.823 に答える