環境
- 192.168.0.1 ローカル windows
- 192.168.1.1 Hop-1 windows
- 192.168.2.1 Hop-2 linux
- 192.168.3.1 target linux
手順
- ローカルで鍵を作り、.ssh/id_rsa.pubを192.168.1.1の./ssh/authrized_keysにコピー
- 192.168.1.1で鍵を作り、.ssh/id_rsa.pubを192.168.2.1の./ssh/authrized_keysにコピー
- 192.168.2.1で鍵を作り、.ssh/id_rsa.pubを192.168.3.1の./ssh/authrized_keysにコピー
- vscode sftp configを以下のようにする。user name, 各種pathがどのマシンにおけるものなのかがややこしいので注意。
{
"name": "target",
"remotePath": "/target/src",
"host": "192.168.1.1", // 最初につなぐ先
"username": "myaccount_on_1.1", // 192.168.1.1上のアカウント
"privateKeyPath": "C:/Users/自分とか/.ssh/id_rsa_create_on_0.1", // windowsの場合。ローカル(192.168.0.1)
上のpath
"protocol": "sftp",
"port": 22,
"uploadOnSave": true,
"hop": {
"host": "192.168.2.1", // 次につなぐ先
"username": "myaccount_on_2.1", // 192.168.2.1上のアカウント
"privateKeyPath": "C:/Users/myaccount_on_1.1/.ssh//id_rsa_create_on_1.1", // 192.168.1.1がwindowsの場合。192.168.1.1上のpath。
"protocol": "sftp",
"port": 22,
"hop": {
"host": "192.168.3.1", // 最後(target)につなぐ先
"username": "myaccount_on_3.1", // 192.168.3.1上のアカウント
"privateKeyPath": "~/.ssh/id_rsa_create_on_2.1", // 192.168.2.1がlinuxの場合。192.168.2.1上のpath。この例ではmyaccount_on_2.1のホーム/.sshを指している。
"protocol": "sftp",
"port": 22
}
}
}
3回作らないとダメ?
全部同じid_rsaを使うことも可能ですが秘密鍵を使いまわすのは避けたほうがよいと思われます。
.ssh/config に書くのは?
ターミナルでのsshでは動作しますが、sftpプラグインでは"openSsh":trueにするとconfigが有効とありますがNGでした。