Aller au contenu

Messages recommandés

bonjour

on peut sans problème faire cohabiter ssh et openssh, mais en séparant les ports

ssh sans sftp, et openssh pour le sftp

ou encore profiter du serveur sftp de openssh, en neutralisant son serveur ssh

------------------------------------------------------------------------------------------

openssh est installé via ipkg, il y a donc deux serveurs ssh

sans aucune modification, il y a conflit, ssh natif au syno, et (ssh de openssh) se battent pour chopper le port 22 sur l'adresse ip du syno

le but est de séparer les deux instances ssh, sur deux ports différents, et si ce choix vous plait, de pouvoir utiliser sftp aussi bien sur le port 22 que le port dédié à openssh..dans cet exemple 54222, ou de le limiter uniquement à l'accès sftp au port openssh

je donne juste un exemple d'ip pour le syno 192.168.1.10 et le port 54222 alors adaptez chez vous .... :)

a_) on gère la config de openssh

nano ou vi /opt/etc/openssh/sshd_config avec un "exemple de config réseaur""---->on ajoute deux lignes, sans modifier les lignes de config existantes

port 54222

ListenAddress 192.168.1.10 (ip_du_syno)

on enregistre la modif

b_) on gère la config de ssh

pour modifier la config ssh par défaut et bénéficier du sftp/scp via openssh et ssh

nano ou vi /etc/ssh/sshd_config

on ajoute

port 22

ListenAddress 192.168.1.10 (ip_du_syno)

on modifie la ligne pour pointer sur le serveur sftp

AVANT

Subsystem sftp /etc/libexec/sftp-server

APRES

Subsystem sftp /opt/libexec/sftp-server

MEF: le redémarrage de ssh via le script

/usr/syno/etc/rc.d/S95sshd.sh restart n'est pas fonctionnel

il vaut mieux,

a_) rebooter le syno

ou

b_) via la page d'admin web du syno désactiver le service ssh, enregistrer, activer le ssh enregistrer

vous pouvez dès la désactivation/re activation de ssh, ce qui équivaut à un restart du service, via ssh, (port 22) utiliser winscp pour transférer, éditer, supprimer, copier/coller des fichiers.

les deux seuls événements qui vont arriver ensuite, un message d'erreur sur les comptes.... ce n'est pas limitant, c'est juste qu'il n'y a pas de groupe sudo user(sudoers) dans le syno

1)

Command 'groups'

failed with return code 127 and error message

-ash: groups: not found.

2)

via winscp en plus du login à ssh, vous devrez rentrer une deuxième fois le mot de passe par session si vous voulez éditer, copier, déplacer, renommer un fichier (fonction scp)

enjoy !!

Lien vers le commentaire
Partager sur d’autres sites

bonsoir,

j'ai un petit peu progressé dans mes recherches.

A partir du moment, ou je change le port dans le fichier config d'openssh à l'adresse suivante, /volume1/opt/etc/openssh/sshd_config, lorsque je reboot ou redemarre ssh, c'est bien 2 instances qui tournent meme si ssh est désactivé dans la console web

- /usr/syno/etc/rc.d/S95sshd.sh et l'autre /opt/etc/init.d/./S40sshd

si je stop le service ssh avec la commande /usr/syno/etc/rc.d/S95sshd.sh stop et redémarre ensuite avec /opt/etc/init.d/./S40sshd start => 1 seule instance tourne et plus de problème

Quelle est la solution pour que le script /usr/syno/etc/rc.d/S95sshd.sh ne se lance pas, changer son extension par exemple ?

Pilou38

l'extension d'un fichier est une notion typiquement "windowsienne", elle n'est pas nécessairement utilisée sous linux. Le type d'un fichier est reconnu grâce à un "magic number" correspondant à son contenu (par exemple, un exécutable windows est reconnu par les lettres MZ au début du fichier, ou une image jpeg par JFIF). Essaie avec la commande file (file nom_de_ton_fichier).

Un fichier exécutable doit avoir l'attribut exécutable positionné.

Un fichier texte (script) exécutable via un interpréteur de commande (bash, sh, perl, python...) est capable d'invoquer directement sont interpréteur s'il commence par un shebang (par exemple #!/usr/bin/perl va invoquer perl et lui faire exécuter le script), mais un script sans shebang peut être exécuté en invoquant l'interpréteur et en lui fournissant le nom du script (par exemple sh monscript). Dans ce cas, monscript ne nécessite pas d'être exécutable. Quand on rajoute une extension, c'est plus pour savoir visuellement quel est le type du fichier (on se dit logiquement qu'un .sh est un script shell, .pl un script perl).

Donc pour qu'un script ne se lance pas :

- s'il est exécutable par lui même (il commence par un shebang et a l'attribut exécutable) : on peut lui enlever l'attribut exécutable, ou enlever le shebang, ou les 2

- s'il est exécuté via l'interpréteur lui même : la seule solution consiste à mettre en première ligne l'instruction exit.

mais il faut savoir que les init scripts sont lancés automatiquement en faisant le listage alphabétique des script situés dans un répertoire donné (cest pour ça qu'on mets S99 pour un script à lancer en dernier), ce listage pouvant être partiel (on ne liste que les Sxxzzzzzzz, ou que les Sxxzzzzz.sh).

Dans ce cas, changer le nom ou l'extension peut suffire.

Je n'ai pas de syno sous la main pour vérifier comment les init scripts sont lancés, mais je suis sûr que quelqu'un pourra te répondre à ce sujet.

malheureusement non, j'ai essayé ce mot de passe car trouvé dans un tuto sur l'installation d'openssh

De mémoire, ce mot de passe était utilisé dans les premières versions du firmware. Ce n'est plus le cas maintenant.

Je suppose que tu n'as pas du mettre à jour le firmware, peux-tu confirmer quelle est ta version ?

Lorsque j'ai changé le numéro du port, j'ai l'impression qu'il y a en fait dans ce cas 2 instances de ssh qui tournent (celle du syno et celle d'openssh), c'est possible ?

Oui, il peut très bien y avoir plusieurs instances de ssh qui tournent (mais elle ne doivent pas écouter le même port).

Qu'est-ce qui te fait dire qu'il y a plusieurs instances qui tournent ?

si tu es connecté au syno via ssh, tu as deux tâches ssh : le démon qui reste en écoute, et ta connexion en cours. Si tu faisait en même temps un rsync sur ssh ou un scp ou un sftp, tu aurais encore d'autres tâches ssh. Mais il n'y a pour autant qu'une instance qui tourne, elle fait un fork pour chaque nouvelle connexion.

Lien vers le commentaire
Partager sur d’autres sites

bonjour

pour compléter ce que dis cricx

on ne peut pas avoir deux instances de ssh sur la même ip et sur le même port, (ssh de openssh) se lance en premier S04 puis ( ssh natif du syno) S95 se lance, il y a alors "erreur bind, l'adresse est déjà utilisée" dans les log .

oui l'ordre des scripts est important, la numérotation implique un lancement en cascade par ordre de priorité, mais en cela il ne faut pas oublier que ipkg a son propre ordre de lancement de ces scripts, et qu'il est indépendant du syno.

il y a bien deux serveurs ssh indépendants, on les sépare ou on empêche l'exécution de l'un des deux serveurs.

il n'y a pas besoin de changer l'ordre de lancement mais la nécessité de faire cohabiter les deux instances.. (voir mon post au dessus)

ou encore, de rendre non exécutable l'une des deux instances de ssh, pour profiter des fonctionnalités, plus étendues de openssh.

par défauts les deux scripts sont exécutables et sont en 755, il suffit de passer celui de openssh en 644

sous ssh on lance la commande top

(on cherche ID du process de openssh dans la liste)

kill n° de process

pour neutraliser le script openssh

chmod 644 /opt/etc/init.d/S04sshd

pour bénéficier du sftp et scp via winscp , ne pas oublier de modifier le lien vers le serveur sftp de openssh

vi /etc/ssh/sshd_config

Subsystem sftp /opt/libexec/sftp-server

pour les autres détails, messages d'erreurs à ignorer etc.... voir mon post juste au dessus <br><br>@++

Lien vers le commentaire
Partager sur d’autres sites

Personnellement je trouve un peu inutile d'avoir deux serveurs ssh qui tournent, sachant qu'un seul permet aussi bien d'utiliser scp et sftp et ssh, bien s

Lien vers le commentaire
Partager sur d’autres sites

Personnellement je trouve un peu inutile d'avoir deux serveurs ssh qui tournent, sachant qu'un seul permet aussi bien d'utiliser scp et sftp et ssh, bien sûr, et en même temps.

Le serveur ssh installé par défaut sur le syno est complet, il ne lui manque que scp qui, lui, est installé avec openssh d'optware.

Si tu n'as pas besoin de faire du scp, tu peux utiliser la version déjà installée (sachant que tu peux utiliser rsync à la place de scp, qui lui, est installé).

C'est ce que je fais pour l'instant (mais je vais quand même installer openssh et désactiver celui qui est installé, pour pouvoir monter les répertoires du syno via fuse sshfs (je tourne sous linux)

salut

le seul usage d'avoir les deux séparés, est d'avoir du sftp sur un et pas sur l'autre,

en pointant du userallow et/ou une IP autorisée dans la config tu peux limiter qui a droit ou pas parmi tes utilisateurs mais sur un syno c'est peut être pas utile en effet.

dans mon usage du syno

openssh est installé et neutralisé, ssh natif pointe sur le serveur sftp de openssh, et si j'ai gardé le natif, c'est que l'on peut encore en reprendre la main via le disk manager..

bien pratique pour manipuler des fichiers via winscp pour les adeptes de la gestion graphique sous windows

Lien vers le commentaire
Partager sur d’autres sites

  • 5 mois après...

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.