Outils pour utilisateurs

Outils du site


linux:ssh (lu 115454 fois)

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Prochaine révision Les deux révisions suivantes
linux:ssh [05-12-2016 14:14]
edmc73 [Gérer plusieurs clés]
linux:ssh [28-05-2018 15:31]
edmc73 [Chrooter les utilisateurs en SFTP / SSH]
Ligne 181: Ligne 181:
 source => http://www.generation-linux.fr/index.php?post/2009/04/14/Monter-un-repertoire-distant-avec-SSH2 source => http://www.generation-linux.fr/index.php?post/2009/04/14/Monter-un-repertoire-distant-avec-SSH2
  
-===== Chrooter les utilisateurs en SFTP / SSH =====+===== Chrooter les utilisateurs en SFTP =====
  
 Voir -> http://formation-debian-testing.via.ecp.fr/ftp.html#id289286 Voir -> http://formation-debian-testing.via.ecp.fr/ftp.html#id289286
Ligne 232: Ligne 232:
         ChrootDirectory %h         ChrootDirectory %h
 </code> </code>
 +
 +
 +===== Chrooter les utilisateurs en SSH =====
 +--- source: https://debian-facile.org/viewtopic.php?id=9607  https://linuxfr.org/forums/linux-debian-ubuntu/posts/cloisonner-utilisateur-ssh-debian-8-resolu
 +
 +Installation du paquet bash-static
 +
 +  #apt-get install bash-static
 +
 +Pour faciliter l'administration nous allons créer un groupe sshchroot
 +
 +  #addgroup sshchroot
 +
 +Création de l'utilisateur test
 +
 +  #adduser test
 +  #usermod -d / test
 +  #usermod -s /bin/bash-static
 +  #adduser test sshchroot
 +
 +Mettre l'utilisateur root propriétaire du home de test sinon la connexion ssh sera refusée
 +
 +  #chown root: /home/test
 +
 +Petit script qui vous activera des commandes supplémentaire pour le user test
 +
 +  #cd /home/test
 +  #vim create.sh
 +
 +<file bash create.sh>
 +#!/bin/bash
 +
 +mkdir -p {bin,dev,lib,lib64}
 +mknod dev/null c 1 3
 +mknod dev/zero c 1 5
 +chmod 0666 dev/{null,zero}
 +
 +TMPFILE1=./temp1
 +TMPFILE2=./temp2
 +#Definition des commandes que vous souhaitez activer
 +APPS="/bin/bash /bin/cp /bin/ls /bin/mkdir /bin/mv /bin/rm /bin/rmdir /usr/bin/id /usr/bin/rsync /usr/bin/scp /usr/bin/wget /usr/bin/vim /usr/bin/vi /bin/cat /bin/less /usr/bin/tail /usr/bin/clear /bin/chmod"
 +
 +for app in $APPS;  do
 +  if [ -x $app ]; then
 +    app_path=`dirname $app`
 +    if ! [ -d .$app_path ]; then
 +        mkdir -p .$app_path
 +    fi
 +    cp -p $app .$app
 +    ldd $app >> ${TMPFILE1}
 +  fi
 +done
 +
 +for libs in `cat ${TMPFILE1}`; do
 +    frst_char="`echo $libs | cut -c1`"
 +    if [ "$frst_char" = "/" ]; then
 +        echo "$libs" >> ${TMPFILE2}
 +    fi
 +done
 +
 +for lib in `cat ${TMPFILE2}`; do
 +      mkdir -p .`dirname $lib` > /dev/null 2>&1
 +      cp $lib .$lib
 +done
 +
 +cp -r /lib/terminfo ./lib/
 +
 +rm -f $TMPFILE1
 +rm -f $TMPFILE2
 +</file>
 +
 +Lancez le script dans /home/test
 +
 +  #./create.sh
 +
 +Editez le fichier de conf ssh pour enfin chrooter la connexion
 +
 +  #vim /etc/sshd_config 
 +<code>
 +Match Group test
 +        #%u permet de se placer automatiquement dans le home du user 
 +        ChrootDirectory /home/%u
 +        AllowTCPForwarding no
 +        X11Forwarding no
 +</code>
 +
 +Petit restart du service ssh
 +
 +  # service ssh reload
 +(on ne sait jamais)
 +  #service ssh restart
 +
 +Test avec le user test
 +
 +<code>
 +I have no name!@x.x.x.x:/$
 +I have no name!@x.x.x.x:/$ ls -l
 +total 28
 +drwxrwxr-x 2    0 1003 4096 Mar 15 15:35 bin
 +-rwxr-xr-x 1    0 1003  886 Mar 15 15:21 create.sh
 +drwxr-xr-x 2    0 1003 4096 Mar 15 15:23 dev
 +drwxr-xr-x 2 1001 1003 4096 Mar 15 15:48 lala
 +drwxr-xr-x 4    0 1003 4096 Mar 15 15:23 lib
 +drwxr-xr-x 2    0 1003 4096 Mar 15 15:23 lib64
 +drwxr-xr-x 4    0 1003 4096 Mar 15 15:23 usr
 +</code>
 +
 +Je ne peux pas editez dans home de test\\
 +C'est normal seul root doit être propriétaire. Les droits plus permissifs sont les suivants:
 +chmod 755 si vous donnez des trop permissifs le ssh chrooter ne fonctionnera pas. Dans ce cas créer un répertoire dont l'utilisateur a full access.
 +exemple:
 +
 +  #mkdir /home/test/test 
 +  #chown test:test /home/test/test
  
 ===== autossh : créer une connexion persistante ===== ===== autossh : créer une connexion persistante =====
Ligne 263: Ligne 377:
  
 La commande pour se connecter en ssh avec cette clé est La commande pour se connecter en ssh avec cette clé est
-  ssh -i ~/.ssh/id_dsa_serveur.pub user@serveur.com+  ssh -i ~/.ssh/id_dsa_serveur user@serveur.com
  
 On peut aussi créer un fichier de config pour automatiser tout ça soit dans son répertoire personnel, soit au niveau de la config du serveur ssh On peut aussi créer un fichier de config pour automatiser tout ça soit dans son répertoire personnel, soit au niveau de la config du serveur ssh
Ligne 274: Ligne 388:
  
 Il existe une multitude de paramètre dans ce fichier de config disponible ici => http://www.gsp.com/cgi-bin/man.cgi?section=5&topic=ssh_config Il existe une multitude de paramètre dans ce fichier de config disponible ici => http://www.gsp.com/cgi-bin/man.cgi?section=5&topic=ssh_config
 +===== Clé DSA non supportée =====
 +
 +This is a result of upgrading to OpenSSH 7.0. As the release notes for OpenSSH 7.0 say, "Support for ssh-dss host and user keys is disabled by default at run-time".
 +
 +The solution is to add the following line to ~/.ssh/config on every client machine (every machine where you run the SSH client):
 +
 +  PubkeyAcceptedKeyTypes=+ssh-dss
 +
 +If the server is using OpenSSH 7.0 or newer, you'll also need to add this line to /etc/ssh/sshd_config on each server machine.
 +
 +Alternatively, you can generate an entirely new SSH key and add it to your authorized_keys file on every server you ever want to log into. I recommend you use RSA, to avoid compatibility woes. I don't recommend ECDSA, as apparently gnome-keyring-daemon doesn't automatically pick up SSH keys of type ECDSA.
 +
 +
linux/ssh.txt · Dernière modification: 13-01-2023 08:50 de edmc73