WinSCPはキーファイルを認識しません


1

自動トランザクション用のバッチファイルを設定しようとしていますが、これまでのテストは失敗しました。

接続が行われているサーバーの公開キーを持っています。.pkkファイルとして保存され、WinSCPにインポートされました。

結果をテキストファイルに記録しましたが、次のようになります。

Username: 4m4nseth (Password: No, Key File: No)

キーファイルはありますが、何らかの理由でWinSCPがそれを取得しません。

バッチファイルとして実行している場合、次のメッセージが表示されます。


セッション名:4m4nseth @ IPアドレスホスト名:IPアドレス(ポート:22) ユーザー名:4m4nseth(パスワード:いいえ、キーファイル:いいえ) トンネル:いいえ転送プロトコル:SFTP(SCP)Pingタイプ:-、Ping間隔:30 sec; タイムアウト:15秒

ただし、WinSCPで実行している場合は次の


セッション名:4m4nseth @ ipaddressホスト名:ipaddress(ポート:22) ユーザー名:4m4nseth(パスワード:いいえ、キーファイル:はい) トンネル:いいえ転送プロトコル:SFTP(SCP)

ご覧のとおり、キーファイルは保存されていますが、バッチコマンドとして実行すると認識されません。

回答:


1

間違った方法で公開鍵と秘密鍵を持っていると思います。

WinSCPを使用してサーバーに(またはサーバーから)情報をコピーする場合、WinSCPを実行しているボックスで公開/秘密キーを生成し、秘密キーでWinSCPを構成し、サーバー上の適切な場所に公開キーを配置する必要があります( Linuxでは〜username / .ssh / authorized_keys

これは私には最初は直観に反しているように見えましたが(かなり前のことです!!)、実際にロジックを操作すれば完全に理にかなっています。次のように考えてみてください-

  1. 秘密鍵は秘密であると想定されています。つまり、知っておくべきことだけです。
  2. サーバーが他の誰かに属している場合、
    自分に知っておくべきことだけを与えたいとは思わないので、秘密鍵を与えたくありません。
  3. 一方、あなたが彼らにあなたの公開鍵を与え、そこでシステムが危険にさらされ、他の誰かがあなたの公開鍵を彼らの設定に追加した場合、それはあなたが彼らのシステムにアクセスできることを意味するだけで、何も失っていない。一方、秘密鍵を提供しなければならなかった場合、それを制御できなくなります。

ありがとね。(このフォーラムから)winSCPは自動化をまったくサポートしていないことがわかりました。公開キーを保持するためにページェントを使用しましたが、今ではセッションを認証して作成できます。ただし、次のエラーが表示されます:リモートディレクトリの読み取り: '/script=E:\Data\GmousCR12\bin\Get.sftp'へのディレクトリの変更エラー '/ script = E:\ Data \ GmousCR12 \の実際のパスを取得できませんbin \ Get.sftp 'そのようなファイルまたはディレクトリはありません。エラーコード。2サーバーからのエラーメッセージ:No such file要求コード:16セッションが開始されました。アクティブセッション:[1] username @ ipaddressファイルは同じサーバーの別のEドライブに存在します。
アマン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.