パスワードなしでスクリプトやプログラムを使用してWindowsからLinuxにファイルをコピーする方法は?

パスワードなしでスクリプトやプログラムを使用してWindowsからLinuxにファイルをコピーする方法は?

WindowsとLinuxの間でファイルをコピーするには、これを行います。

C:\Documents and Settings\668340\My Documents\putty>pscp  "C:\Documents and Settings\563456\abc.txt" "[email protected]:/home/auto/"

ただし、パスワードの入力を求められます。次の方法でこのタスクを自動化できますか?秘密鍵/公開鍵ペアWindowsとLinuxの間

うまくいきますwinscpが、唯一の問題は、コードにハードコードされたパスワードを使用する必要があることです。代わりに、秘密鍵/公開鍵の追加の概念を使用したいのですが、Windowsでこれを行う方法がわかりません。

編集する:パスワードなしの認証を使用できますが、Windowsで公開鍵、秘密鍵(.ppk)を生成してputtygen.exeから公開鍵を.ssh\authorizedLinuxにコピーする手動プロセスを使用する必要があります。これを自動化する方法はありますか?

編集する:Unixでコマンドを実行するシェルスクリプトを使用してWindowsにコピーファイルがある場合は、Unixで公開/秘密鍵を自動的に生成できるため、便利です。

答え1

辞書キーを交換せずに認証が必要なので、(少なくとも最初は)パスワード認証を使用する以外に他のオプションはありません。

したがって、スクリプトにパスワードをハードコードする必要があります。pscpオプションでパスワードを入力できます-pw。しかし、これがどれほど安全であるかはわかりません(少なくともLinuxでは、すべてのユーザーが通常すべてのプロセスのコマンドラインを見ることができます)。

答え2

パスワードを入力したりキーを生成したくないので、以下を提案します。

  1. 両方のシステムでネットワーキングを無効にします(セキュリティが最優先事項です!)。
  2. 両方のコンピュータでパスワードのないログインを有効にします。
  3. コンピュータAにフロッピーディスクを挿入し、ファイルをフロッピーディスクにコピーします。
  4. コンピュータAからフロッピーディスクを取り外し、コンピュータBに移動します。
  5. フロッピーディスクをコンピュータBに挿入し、ファイルをコンピュータBにコピーします。

Win 95コンピュータを所有している場合は、これがコンピュータが設計されたネットワークモデルであることを知ってうれしいです。

答え3

質問の更新後の修正:

おそらくネットワーク経由でファイルをコピーする最も簡単な方法はSMB / CIFSです。 Linux側では、次のものを使用できます。サンバネットワーク共有またはWindowsがインストールされているコンピュータからエクスポートされた共有をWindowsに提供します。

SSHを使用したい場合は見てください。パテコマンドラインが含まれている場合は、scp鍵認証を使用できる必要があります。しかし、繰り返しますが、あなたの場合、パスワードで保護されていないキーを使用することは許可されていますか?

関連情報