web-dev-qa-db-ja.com

Visual Studioコード-SSH認証を使用したSFTP拡張

Visual Studio Codeワークフローで vscode-sftp extension を使用して、保存するたびにリモートサーバーにファイルをアップロードしています。 Sublime Textの SFTPプラグイン で使用していたように、パスワードなしの認証を達成しようとしています。ただし、vscode-sftpの場合、sftp.jsonファイル、これを機能させるにはプレーンテキストとしてパスワードを入力する必要があります。

{
    "Host": "mysamplehost.com",
    "port": 22,
    "username": "username",
    "password": "password",
    "protocol": "sftp",
    "agent": null,
    "privateKeyPath": null,
    "passphrase": null,
    "passive": false,
    "interactiveAuth": false,
    "remotePath": "/",
    "uploadOnSave": true,
    ...
}

ただし、サーバーにSSH接続しても、MacBookにSSHキーがあるため、パスワードの入力は求められません。この認証方法を使用するようにvscode-sftpを構成するにはどうすればよいですか?

documentation に次のコメントがありますが、これを設定する方法がわかりません。

  /**
   * string - Path to ssh-agent's UNIX socket for ssh-agent-based user authentication.
   * Windows users: set to 'pageant' for authenticating with Pageant or (actual) path to a cygwin "UNIX socket.
   */
  agent: null, 
  privateKeyPath: null, // absolute path to user private key
  passphrase: null,
  passive: false, // ftp passive mode
6
Amit

this につまずいた後、私はそれを考え出した。これが私がやった方法です。ファーストラン:

$ echo $SSH_AUTH_SOCK

sftp.jsonファイルにagentへのパスを入力します。また、秘密鍵(id_rsaファイル)へのパスを入力します。次の設定は私のためのトリックをしました:

"agent": "/private/tmp/com.Apple.launchd.nPw17MhOqq/Listeners",
"privateKeyPath": "/Users/amitsn/.ssh/id_rsa",
"passphrase": null,

パスフレーズがないため、nullのままにしていることに注意してください。持っている場合、これを記入することを忘れないでください。

8
Amit

これを行うことができます。

"agent": "$SSH_AUTH_SOCK"
0
liximomo