Secure Shell (SSH) est à la fois un programme informatique et un protocole de communication sécurisé. Le protocole de connexion impose un échange de clés de chiffrement en début de connexion. Par la suite toutes les trames sont chiffrées. Il devient donc impossible d'utiliser un sniffer pour voir ce que fait l'utilisateur.
SSH peut également être utilisé pour « forwarder » des ports TCP d'une machine vers une
autre, créant ainsi un tunnel. Cette méthode est couramment utilisée afin de sécuriser une
connexion qui ne l'est pas (par exemple le protocole email POP3) en la faisant transférer par
le biais du tunnel chiffré SSH.
aptitude install openssh-server
/etc/ssh/sshd_config
ssh username@ipaddress -p <port>
scp 'fichier' username@ipaddress:DestinationDirectory
scp username@ipaddress:DestinationDirectory 'fichier'
ssh-keygen -t dsa -b 1024
scp /root/.ssh/id_dsa.pub /home/user/.ssh/authorized_keys
Après cet échange de clef publique, la connexion ne nécessite plus de password.
Si ça ne fonctionne pas, vérifier les fichiers de conf SERVEUR (/etc/sshd/sshd_config) et CLIENT (/etc/ssh/ssh_config).
Afin de gagner en sécurité ou pour des raisons réseaux restrictives,
il est possible de configurer un tunnel SSH pour forwarder à peu près tout ce qu'on veut !
Cet exemple sort d'un réseau LAN vers le un serveur Firewall qui fait office de routeur.
Il nous faut :
Les règles IPTABLE adéquates :
iptables -A INPUT -i eth0 -s 192.168.1.0/24 -p tcp --dport 22 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -o eth0 -d 192.168.1.0/24 -p tcp --sport 22 -m state --state ESTABLISHED,RELATED -j ACCEPT echo "SSH ACCES LAN-FW : OK" iptables -A OUTPUT -o eth2 -d 192.168.2.0/24 -p tcp --dport 3389 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -i eth2 -s 192.168.2.0/24 -p tcp --sport 3389 -m state --state ESTABLISHED,RELATED -j ACCEPT echo "RDP ACCES FW-DMZ : OK"
N'oubliez pas d'ajouter la règle (ADD !) avant d'initier votre connexion SSH…
aptitude install connect-proxy
vi /etc/ssh/ssh_config
host IP_SERVEUR_SSH ProxyCommand connect-proxy -H IP_PROXY:PORT %h %p
ssh USER@IP_SERVEUR_SSH