SSH

You may use SSH protocol as a proxy policy, an equivalent to ssh -D.

Profile syntax:

  • Password authentication
[Proxy]
proxy = ssh, 1.2.3.4, 22, root, password=pw
  • Public key authentication
[Proxy]
proxy = ssh, 1.2.3.4, 22, root, private-key=base64(privateKeyFileContent)
  • Please notice you must use base64 to encode the entire private key file again, even though the private key file uses the base64 encoding itself. You may use OpenSSL to create base64 encode string:
// OpenSSL 1.x
openssl enc -base64 -in /path/to/privatefile

// OpenSSL 3+
openssl base64 -in /path/to/privatefile
  • All four types of private keys, RSA/ECDSA/ED25519/DSA, are supported.

  • Chute support KEX method & SSH cipher list below:

KEX method
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
Cipher
3des_cbc
aes128_cbs
aes192_cbc
aes256_cbc
aes128_ctr
aes196_ctr
aes256_ctr
aead_aes128_gcm
aead_aes256_gcm
aead_chacha20_poly1305
  • You may specify the idle timeout parameter now. The default value is 180s.
[Proxy]
proxy = ssh, 1.2.3.4, 22, root, password=pw, idle-timeout=180

Server Fingerprint

To cope with MITM attacks, you can specify the server's public key fingerprint with server-fingerprint, which ensures that only legitimate servers are connected.

[Proxy]
proxy = ssh, 1.2.3.4, 22, root, password=pw, idle-timeout=180, server-fingerprint = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5ABCAIO9KYmO+KZQH3VXU5C1aO2xl4G8+7NLkOYDNBxfZUqep"

As there may be multiple public keys for a server, the server-fingerprint parameter supports configuring multiple fingerprints.

server-fingerprint = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5ABCAIO9KYmO+KZQH3VXU5C1aO2xl4G8+7NLkOYDNBxfZUqep,ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCrklKEp4vuMqqNiS2lvDL7g3rQ2dAwvik+KIC4iVJNoaHhkLRAEv1y/dQYixf71ORZUI+w3AFKp1RzfiuwciTsMnp7Hq9uvcHqDRDaCrYe1EDx3Dr0XlH1wsdUcr+6DOAUzRSXK9LSEPVK1xHb6WJBaTkNOHruPCmrINA/DEIiflMN2q77AWlsMt+unhmY2YWgJprY+vpDOcXk8+CnL4K+QWNlHB8mTfB58p1oadz1xWG9so//rUMp7JHtUt6QpVJvwf/Qh7IcFNDhSHwSTJu2Px2P9biuUOPkmPtZmTIdnDx25EUWtmE/+VE3lZAYuur7KuGsG0o+X8dYnEMAN3ar"

You may obtain the server fingerprint from ~/.ssh/known_hosts file. Or you may use the command ssh-keyscan example.com in a trusted network environment to fetch. Please remove the hostname in the front of the line before copying it to Chute.

S. Smart Rabbit LLC © All Rights Reserved            updated 2023-12-15 10:06:15

results matching ""

    No results matching ""