SSH
SSHプロトコルをプロキシポリシーとして使用できます。これはssh -Dと同等です。
プロファイル構文:
- パスワード認証
[Proxy]
proxy = ssh, 1.2.3.4, 22, root, password=pw
- 公開鍵認証
[Proxy]
proxy = ssh, 1.2.3.4, 22, root, private-key=base64(privateKeyFileContent)
- 秘密鍵ファイル自体がbase64エンコーディングを使用している場合でも、秘密鍵ファイル全体を再度base64でエンコードする必要があることに注意してください。
OpenSSLを使用してbase64エンコード文字列を作成できます:
// OpenSSL 1.x
openssl enc -base64 -in /path/to/privatefile
// OpenSSL 3+
openssl base64 -in /path/to/privatefile
RSA/ECDSA/ED25519/DSAの4種類全ての秘密鍵タイプがサポートされています。
Chuteは以下のKEXメソッドとSSH暗号リストをサポートしています:
| KEXメソッド |
|---|
| diffie-hellman-group1-sha1 |
| diffie-hellman-group14-sha1 |
| ecdh-sha2-nistp256 |
| ecdh-sha2-nistp384 |
| ecdh-sha2-nistp521 |
| [email protected] |
| curve25519-sha256 |
| diffie-hellman-group16-sha512 |
| diffie-hellman-group18-sha512 |
| diffie-hellman-group14-sha256 |
| 暗号 |
|---|
| 3des_cbc |
| aes128_cbs |
| aes192_cbc |
| aes256_cbc |
| aes128_ctr |
| aes196_ctr |
| aes256_ctr |
| aead_aes128_gcm |
| aead_aes256_gcm |
| aead_chacha20_poly1305 |
- アイドルタイムアウトパラメータを指定できるようになりました。デフォルト値は
180sです。
[Proxy]
proxy = ssh, 1.2.3.4, 22, root, password=pw, idle-timeout=180
サーバーフィンガープリント
MITM攻撃に対処するために、server-fingerprintでサーバーの公開鍵フィンガープリントを指定できます。これにより、正当なサーバーのみに接続することが保証されます。
[Proxy]
proxy = ssh, 1.2.3.4, 22, root, password=pw, idle-timeout=180, server-fingerprint = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5ABCAIO9KYmO+KZQH3VXU5C1aO2xl4G8+7NLkOYDNBxfZUqep"
サーバーには複数の公開鍵が存在する可能性があるため、server-fingerprintパラメータは複数のフィンガープリントの設定をサポートしています。
server-fingerprint = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5ABCAIO9KYmO+KZQH3VXU5C1aO2xl4G8+7NLkOYDNBxfZUqep,ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCrklKEp4vuMqqNiS2lvDL7g3rQ2dAwvik+KIC4iVJNoaHhkLRAEv1y/dQYixf71ORZUI+w3AFKp1RzfiuwciTsMnp7Hq9uvcHqDRDaCrYe1EDx3Dr0XlH1wsdUcr+6DOAUzRSXK9LSEPVK1xHb6WJBaTkNOHruPCmrINA/DEIiflMN2q77AWlsMt+unhmY2YWgJprY+vpDOcXk8+CnL4K+QWNlHB8mTfB58p1oadz1xWG9so//rUMp7JHtUt6QpVJvwf/Qh7IcFNDhSHwSTJu2Px2P9biuUOPkmPtZmTIdnDx25EUWtmE/+VE3lZAYuur7KuGsG0o+X8dYnEMAN3ar"
サーバーフィンガープリントは~/.ssh/known_hostsファイルから取得できます。または、信頼できるネットワーク環境でssh-keyscan example.comコマンドを使用して取得することもできます。Chuteにコピーする前に、行の先頭にあるホスト名を削除してください。