Outils pour utilisateurs

Outils du site


informatique:reseau:ssh

Secure SHell (SSH)

Configuration

Dans /etc/ssh/sshd_config tu change la ligne

PermitRootLogin Yes
en
PermitRootLogin No

Et si tu veux autoriser l'accès ssh en root uniquement avec clé ssh tu mets :

PermitRootLogin without-password

Mais bon ça marche pas …

Voici une config qui fontionne :

UsePAM no
RSAAuthentication yes
PermitRootLogin without-password
PermitEmptyPasswords no
PasswordAuthentication no

et une autre :

UsePAM no
Subsystem    sftp    /usr/libexec/openssh/sftp-server
IgnoreRhosts yes
IgnoreUserKnownHosts no
PrintMotd yes
StrictModes yes
RSAAuthentication yes
PermitRootLogin no
PermitEmptyPasswords no
PasswordAuthentication no

Maintien de la connexion

ServerAliveInterval
ServerAliveCountMax

ClientAliveInterval dit d'envoyer un paquet de vérification toutes les xx secondes (défaut: 0) et ClientAliveCountMax dit de couper la connexion après x messages sans réponse (défaut: 3)

Clients

ClusterSSH

http://sourceforge.net/apps/mediawiki/clusterssh/

ClusterSSH is a tool for making the same change on multiple servers at the same time. The 'cssh' command opens an administration console and an xterm to all specified hosts. Any text typed into the administration console is replicated to all windows. All windows may also be typed into directly.

This tool is intended for (but not limited to) cluster administration where the same configuration or commands must be run on each node within the cluster. Performing these commands all at once via this tool ensures all nodes are kept in sync.

Clients pour Windows

Linux Keychain Guide

Tips

Logs

comment demander gentilement a sshd de logger tout ce qui se passe connexion/deconnexions dans un fichier /var/log/sshd.log ?

voir /etc/syslog.conf

# ATTENTION : local5 est utilisé notamment par sshd
local5.info /var/log/sshd

Le port 22 est scanné en permanence, ce qui rempli le disque (risque DDOS):

root@seriously:~# ls -lhS /var/log/|head
total 13M
-rw-rw----  1 root  utmp  36M Jul 10 12:09 btmp
-rw-r-----  1 root  adm   25M Jul  4 06:13 auth.log.1
-rw-r-----  1 root  adm   24M Jul 10 12:09 auth.log
-rw-------  1 root  utmp  13M Jul  1 06:12 btmp.1

Email automatique lors de la connexion

Email automatique pour toute connexion ssh:

créer le fichier /etc/ssh/sshrc avec:

email="$USER@"`hostname`
ldate=`date "+%A %e %B %Y à %Hh%M %Z"`
echo -e "Bonjour,\n\nUne session SSH version $SHLVL à été ouverte\n\ncompte: $email\n\ndate: $ldate\n\nconnexion: $SSH_CONNECTION." | mail -s "connexion ssh" monemail@mondomaine.com

Blacklister les Ips indésirables

SSH scanning ssh-blacklist

Blacklister les Ips indésirables avec le script http://www.frit.net/scripts/ copie locale

Chroot Jail

Tunnel

Ssh tunneling (Encrypt your HTTP Traffic and more):

Vous créez un port d'écoute qui se charge de prendre toute trame réseau qui rentre “telle quelle” et de la faire exécuter depuis l'autre bout du tunnel. ssh -D port-local nomutilisateur@nomhôte

Forwarding

ssh -C -NL 9999:localhost:5900 USER@REMOTE_HOST
  • -C parameter to compress data (optional - useful for low bandwidth connections)
  • -N parameter to not execute a remote command (i.e. no prompt on the remote machine)
  • -L parameter for port forwarding from port 9999 on localhost to port 5900 on REMOTE_HOST.

Ne fonctionne pas toujours avec 'localhost', utiliser alors '127.0.0.1'

ssh -N -L 127.0.0.1:3307:127.0.0.1:3306 -p 30001 USER@REMOTE_HOST

Proxying

scp -o 'ProxyJump user@proxy.openstreetmap.fr' ./file user@vm.openstreetmap.fr:/home/user/

Se connecter à un serveur via un autre serveur (forwarding agent):

ssh -p <public port> -t -A root@<public ip> ssh -t root@<private-ip>

Via la configuration du client SSH, ce qui du coup fonctionne avec SCP:

#~/.ssh/config
Host machineC
ProxyCommand ssh -p XXX user@machineB nc %h %p

Ouvrir une console via une autre machine:

ssh -t -A toto@s1.artefacts.coop ssh -t toto@s2.artefacts.coop
informatique/reseau/ssh.txt · Dernière modification : 19/02/2024 10:42 de cyrille

Sauf mention contraire, le contenu de ce wiki est placé sous les termes de la licence suivante : CC0 1.0 Universal
CC0 1.0 Universal Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki