SSH
Vous pouvez utiliser le protocole SSH comme politique de proxy, l'équivalent de ssh -D.
Syntaxe du profil :
- Authentification par mot de passe
[Proxy]
proxy = ssh, 1.2.3.4, 22, root, password=pw
- Authentification par clé publique
[Proxy]
proxy = ssh, 1.2.3.4, 22, root, private-key=base64(privateKeyFileContent)
- Notez que vous devez encoder à nouveau en base64 l'intégralité du fichier de clé privée, même si ce fichier utilise lui-même l'encodage base64. Vous pouvez utiliser
OpenSSLpour créer la chaîne encodée en base64 :
// OpenSSL 1.x
openssl enc -base64 -in /path/to/privatefile
// OpenSSL 3+
openssl base64 -in /path/to/privatefile
Trois types de clés privées sont pris en charge : RSA/ECDSA/ED25519. DSA n'est plus pris en charge.
Chute prend en charge les méthodes KEX et la liste de chiffrements SSH ci-dessous :
| Méthode 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 |
| diffie-hellman-group-exchange-sha256 |
| diffie-hellman-group-exchange-sha1 |
| Chiffrement |
|---|
| [email protected] |
| [email protected] |
| [email protected] |
| aes256-ctr |
| aes192-ctr |
| aes128-ctr |
| aes256-cbc |
| [email protected] |
| aes192-cbc |
| aes128-cbc |
| blowfish-cbc |
| arcfour128 |
| arcfour |
| cast128-cbc |
| 3des-cbc |
- Vous pouvez désormais indiquer le paramètre de délai d'inactivité. La valeur par défaut est de 180 secondes.
[Proxy]
proxy = ssh, 1.2.3.4, 22, root, password=pw, idle-timeout=180
Empreinte du serveur
Pour parer aux attaques MitM, vous pouvez indiquer l'empreinte de la clé publique du serveur avec server-fingerprint, ce qui garantit que seuls des serveurs légitimes sont contactés.
[Proxy]
proxy = ssh, 1.2.3.4, 22, root, password=pw, idle-timeout=180, server-fingerprint = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5ABCAIO9KYmO+KZQH3VXU5C1aO2xl4G8+7NLkOYDNBxfZUqep"
Comme un serveur peut posséder plusieurs clés publiques, le paramètre server-fingerprint permet de configurer plusieurs empreintes.
server-fingerprint = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5ABCAIO9KYmO+KZQH3VXU5C1aO2xl4G8+7NLkOYDNBxfZUqep,ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCrklKEp4vuMqqNiS2lvDL7g3rQ2dAwvik+KIC4iVJNoaHhkLRAEv1y/dQYixf71ORZUI+w3AFKp1RzfiuwciTsMnp7Hq9uvcHqDRDaCrYe1EDx3Dr0XlH1wsdUcr+6DOAUzRSXK9LSEPVK1xHb6WJBaTkNOHruPCmrINA/DEIiflMN2q77AWlsMt+unhmY2YWgJprY+vpDOcXk8+CnL4K+QWNlHB8mTfB58p1oadz1xWG9so//rUMp7JHtUt6QpVJvwf/Qh7IcFNDhSHwSTJu2Px2P9biuUOPkmPtZmTIdnDx25EUWtmE/+VE3lZAYuur7KuGsG0o+X8dYnEMAN3ar"
Vous pouvez obtenir l'empreinte du serveur depuis le fichier ~/.ssh/known_hosts. Vous pouvez aussi utiliser la commande ssh-keyscan example.com dans un environnement réseau de confiance pour la récupérer. Veuillez retirer le nom d'hôte en début de ligne avant de la copier dans Chute.