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
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のままにしていることに注意してください。持っている場合、これを記入することを忘れないでください。
これを行うことができます。
"agent": "$SSH_AUTH_SOCK"