公開鍵認証を使用してリモート SFTP サーバーに接続するための Windows スクリプト

公開鍵認証を使用してリモート SFTP サーバーに接続するための Windows スクリプト

私は、クライアントの SFTP サーバーに接続し、MS Windows を使用して自動プロセスでファイルを送信しようとしています。クライアントから受け取った詳細にはパスワードが含まれていません。代わりに、PuTTY を使用して公開キーと秘密キーのペアを取得しました。

使用される典型的な接続文字列は次のとおりです。

open sftp://username:password.SFTPURL:port -hostkey="ssh-dss 1024 XXXXXXX"

しかし、この接続でパスワードの代わりに秘密鍵を指定する方法がわかりません。秘密鍵がどこにあるかをスクリプトに伝えるにはどうすればよいですか。また、公開鍵を使用して接続するときに使用する特定のキーワードはありますか。

私はこの分野は初心者なので、どうかご容赦ください。

ありがとう!

答え1

SFTPクライアントツールは提供されていますか、それとも自分で選んだものを使用できますか?自由に選択できるのであれば、試してみることをお勧めします。Syncplify.me FTP スクリプト!次のようなスクリプトを書くことができます。パスワードなしの公開鍵認証を使用する:

var
  Cli: TSFTPClient;
begin
  Cli := TSFTPClient.Create;
  try
    Cli.ServerAddr := 'your.remote.host';
    Cli.Username := 'username';
    Cli.AddPK('c:\user_key.rsa');
    if Cli.Open then
    begin
      // Add your code here...
      // ...      
      Cli.Close;
    end;
  finally
    Cli.Free;
  end;
end.

関連情報