Modification port SSH

sshSi vous utilisez un serveur dédié pour héberger vos sites web, vous utilisez sûrement des connexions SSH pour administrer votre serveur. Par défaut le serveur SSH utilise le port 22 pour les connexions entrantes. Afin de protéger votre serveur il est vivement conseillé de modifier cette valeur pour éviter des attaques de type ‘brut force’. Ce genre d’attaques effectue des centaines de connexion sur le port 22 (SSH) en essayant tout type de mot de passe. En deuxième lieu il faut également désactiver les connexions root via SSH.

Désactiver les connexions root

Dans le fichier /etc/ssh/sshd_config vérifier que a ligne suivante existe, sinon ajouter la :

PermitRootLogin  no (ou prohibit-password)

Il faut ensuite redémarrer le service :  service ssh restart

Modifier le port SSH par défaut

Dans le même fichier il faut modifier la ligne :

Port 22

remplacer 22 par un chiffre >1024 si possible

Port 7890

redémarrer le service :  service ssh restart

Client SSH sur port spécifique

Lorsque le port SSH n’est pas 22 il faut utiliser l’option -p pour la commande ssh et -P pour scp.

  • ssh mon serveur devient ssh -p 7890 monserveur
  • scp monserveur…  devient  scp -P 7890  monserveur

Pour vous simplifier la vie il est possible de créer des alias dans ~/.bash_profile

alias ssh2="ssh -p 7890"
alias scp2="scp -P 7890"

Vous disposerez ensuite des commandes :

  • ssh2 monserveur
  • scp2 monserveur

Vous pouvez également modifier le fichier ~/.ssh/config et ajouter :

Host monserveur
  port 7890

Avec cette config le client SSH utilisera automatiquement le port 7890 pour vos connexion SSH vers monserveur, plus besoin d’ajouter -p 7890. Pour les autres serveurs il continuera à utiliser le port 22.

Subversion + SSH

Il est possible d’utiliser subversion (svn) via une connexion ssh. Dans ce cas les urls des dépôts svn sont du type :

svn+ssh://monserveur/path…

Le problème c’est que si le port SSH n’est pas 22 ce type d’url ne fonctionne pas, même si le fichier ~/.ssh/config est renseigné.

Comme toujours (avec Linux ;)) il y a une solution : c’est les tunels... Subversion permet de créer des ‘tunels’ pour configurer des connexions spécifiques pour les dépots SVN.

Pour notre cas il faut modifier le fichier ~/subversion/config et créer/modifier les lignes suivantes

[tunnels]
sshmonserveur = ssh -p 7890

Ensuite pour utiliser ce tunnel il faut que les URL des dépôts SVN soient du type :  svn+sshmonserveur://monserveur/path….

En fait il suffit de remplacer ssh par le nom du tunnel. Dans ce cas la connexion ssh se fera bien sur le port 7890.

Mise à jour dépôts SVN existants

Une fois votre tunel créé il faudra mettre à jour les urls des dépôts dans tous les répertoires ou ils sont utilisés. Pour cela on utilise la commande svn relocate.

cd monDossierSvnLocal
svn info  (aff l'url actuelle du type svn+ssh://...)
svn relocate svn+sshmonserveur://...

Il faut cette modification dans tous les dossiers SVN qui pointent vers le serveur concerné.

Maj 25/09/17

Pour les versions de subversion <1.7 la commande a utiliser est :

svn switch --relocate  ancienURL nouvelleUrl

 

1 commentaire(s)

  1. Arnold dit :

    Pour info, avec les version de subversion <1.7 la commande à utiliser est : svn switch –relocate AncienURL NouvelleURL

Qu'en pensez-vous ?

Votre formulaire contient des erreurs, merci de corriger.