Je veux créer un tunnel SSH complet entre deux serveurs Ubuntu 12.04, (j'ai découvert SSHuttle mais à cause d'un bug dans la gestion des descripteurs de fichiers, il va planter sous une charge élevée) très similaire à IPSEC mais parce que je n'en ai besoin que pour deux héberge la complexité de la création d'une configuration IPSEC à part entière semble être une exagération.
Ce que je veux réaliser, c'est que toutes les données allant entre server1 et server2 seront cryptées sans avoir besoin de créer des milliers de ports dynamiques SSH.
Cette réponse appartient à brandonchecketts .
Supposons que vous avez deux hôtes nommés Host-A et Host-B. Maintenant, nous allons créer un tunnel SSH entre ces deux et nous assurer que le tunnel est toujours opérationnel.
La configuration doit être effectuée pour Host-A:
Ouvrez votre terminal, transformez-vous en root et collez le code un par un
useradd -d /home/tunnel tunnel
passwd tunnel
su - tunnel
la prochaine étape consiste à créer une clé SSH
Dans la pâte terminale comme
ssh-keygen
puis choisissez le choix par défaut pour toutes les invites et copiez la clé avec
cat /.ssh/id_rsa.pub
Maintenant, cette fois, nous devons configurer pour Host-B
Ouvrez votre terminal et exécutez ces commandes
useradd -d /home/tunnel tunnel
passwd tunnel
su - tunnel
et dans le type de terminal comme
mkdir .ssh
vi .ssh/authorized_keys
Il ouvrira un fichier dans le terminal et collera la clé copiée ci-dessus à partir de Host-A.
Maintenant dans le type de terminal comme
vi /home/tunnel/check_ssh_tunnel.sh
et collez comme
createTunnel() {
/usr/bin/ssh -f -N -L13306:hostb:3306 -L19922:hostb:22 tunnel@hostb
if [[ $? -eq 0 ]]; then
echo Tunnel to hostb created successfully
else
echo An error occurred creating a tunnel to hostb RC was $?
fi
}
## Run the 'ls' command remotely. If it returns non-zero, then create a new connection
/usr/bin/ssh -p 19922 tunnel@localhost ls
if [[ $? -ne 0 ]]; then
echo Creating new tunnel connection
createTunnel
fi
enregistrer et fermer et le rendre exécutable avec
chmod 700 /home/tunnel/check_ssh_tunnel.sh
puis exécutez le script, il démarrera un tunnel avec un PC distant.
Lisez ce lien ci-dessus, c'est incontournable.