Aller au contenu

Questions Sur Ssh Et Sftp


Amsonia

Messages recommandés

Des nouvelles du forum anglais : Syno confirme que l'on ne peut pas se logguer en root en SFTP et surtout que c'est un problème sur lequel ils travaillent.

En attendant qu'un fix officiel ou pas ne sorte, je veux bien un peu d'aide pour configurer OpenSSH parce que les fichiers de conf standard ne comportent pas les mêmes options que pour la conf standard du SSH de Synology.

Lien vers le commentaire
Partager sur d’autres sites

  • Réponses 73
  • Créé
  • Dernière réponse

Meilleurs contributeurs dans ce sujet

Des nouvelles du forum anglais : Syno confirme que l'on ne peut pas se logguer en root en SFTP et surtout que c'est un problème sur lequel ils travaillent.

En attendant qu'un fix officiel ou pas ne sorte, je veux bien un peu d'aide pour configurer OpenSSH parce que les fichiers de conf standard ne comportent pas les mêmes options que pour la conf standard du SSH de Synology.

Aux dernières nouvelles, ce comportement est souhaité par Synology ; pas de "risque" qu'un patch officiel voit le jour :(

Sinon, j'ai installé OpenSSH comme je vous avais dit. J'ai essayé de comprendre les différentes options du fichier de conf sans trop y arriver mais bref, ça marche. Je peux de nouveau me connecter en root et admin en SFTP \o/

Seulement…j'ai quelques trucs bizarres :

1/ comment arrêter proprement le service ssh/sftp ?

Pour l'instant je fais un ça

ps | grep ssh
puis
kill {le pid de /opt/sbin/sshd}[/code]




Il devrait quand même y avoir quelque chose de plus propre non ?





2/ Quand je lance le service via la commande ci-dessous j'ai cette erreur.

[code] NAS> opt/etc/init.d/S40sshd Could not load host key: /opt/etc/openssh/ssh_host_ecdsa_key [/code]
Elle ne semble pas être bloquante mais ça m'énerve un poil… 3/ J'ai essayé de reproduire dans /opt/etc/openssh/sshd_config les paramètres de /etc/ssh/sshd_config et j'imagine que je me suis planté et que tous mes petits tracas viennent de là… -> voir mon /etc/ssh/sshd_config (config de base) -> voir mon /opt/etc/openssh/sshd_config (avec des modifs sur le port, et connec par clef seulement) 4/ Je n'arrive plus à avoir l'uptime !
[CODE]uptime: couldn't get boot time: No such file or directory[/code]

Merci d'avance pour votre aide.

Lien vers le commentaire
Partager sur d’autres sites

4/ Je n'arrive plus à avoir l'uptime !

uptime: couldn't get boot time: No such file or directory[/CODE]

Ça m'est aussi déjà arrivé...

Avec coreutils de ipkg, l'exécutable uptime est celui se trouvant sous /opt/bin/uptime, tu peux le vérifier en faisant "which uptime". Ce fichier est un lien symbolique vers "/opt/bin/coreutiles-uptime". Tu peux le vérifier en listant le contenu de /opt/bin.

Si tel est le cas, il te suffit de supprimer le lien "rm /opt/bin/uptime", et le tour est joué.

Avant ça tu peux faire "/usr/bin/uptime" pour être sûr que ça te retourne bien quelque chose de correct.

A+

Michel

edit: mise à jour du path vers uptime dans /usr/bin et pas dans /bin

Merci Piwi !

Modifié par MrWaloo
Lien vers le commentaire
Partager sur d’autres sites

Ça m'est aussi déjà arrivé...

Avec coreutils de ipkg, l'exécutable uptime est celui se trouvant sous /opt/bin/uptime, tu peux le vérifier en faisant "which uptime". Ce fichier est un lien symbolique vers "/opt/bin/coreutiles-uptime". Tu peux le vérifier en listant le contenu de /opt/bin.

Si tel est le cas, il te suffit de supprimer le lien "rm /opt/bin/uptime", et le tour est joué.

Avant ça tu peux faire "/bin/uptime" pour être sûr que ça te retourne bien quelque chose de correct.

A+

Michel

Ok pour tout, sauf que /bin/uptime ne me retourne rien : "not found"

Et d'ailleurs, comment se fait-il que cette commande soit passée de celle de busybox à ipkg ? o_O

Lien vers le commentaire
Partager sur d’autres sites

Merci à vous tous, le $PATH me retourne ceci :

-ash: /opt/bin:/opt/sbin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/syno/sbin:/usr/syno/bin:/usr/local/sbin:/usr/local/bin: not found
Et mon fichier /root/.profile est rempli ainsi :

umask 022

PATH=/opt/bin:/opt/sbin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/syno/sbin:/usr/syno/bin:/usr/local/sbin:/usr/local/bin

export PATH

#This fixes the backspace when telnetting in.

#if [ "$TERM" != "linux" ]; then

#	    stty erase

#fi

HOME=/root

export HOME

TERM=${TERM:-cons25}

export TERM

PAGER=more

export PAGER

PS1="`hostname`> "

alias dir="ls -al"

alias ll="ls -la"

[/code]

Est-ce correct ?

Lien vers le commentaire
Partager sur d’autres sites

Lorsqu'on demande à exécuter un programme, le système le recherche en utilisant la variable $PATH de manière séquentielle.

La recherche s'arrête dès que le programme est trouvé, dans ton cas la recherche de la command uptime se fait comme suit :


PATH=/opt/bin:/opt/sbin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/syno/sbin:/usr/syno/bin:/usr/local/sbin:/usr/local/bin


/opt/bin/uptime # Trouvé, la recherche s'arrête ici

/opt/sbin/uptime

/sbin/uptime

/bin/uptime

/usr/sbin/uptime

/usr/bin/uptime

/usr/syno/sbin/uptime

/usr/syno/bin/uptime

/usr/local/sbin/uptime

/usr/local/bin/uptime

Pour que ipkg ne remplace pas les programmes existants, il suffirait de modifier l'ordre de recherche dans la variable $PATH en plaçant les chemins vers ipkg à la fin.

PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/syno/sbin:/usr/syno/bin:/usr/local/sbin:/usr/local/bin:/opt/bin:/opt/sbin


/sbin/uptime

/bin/uptime

/usr/sbin/uptime

/usr/bin/uptime # Trouvé, la recherche s'arrête ici

/usr/syno/sbin/uptime

/usr/syno/bin/uptime

/usr/local/sbin/uptime

/usr/local/bin/uptime

/opt/bin/uptime

/opt/sbin/uptime

Lien vers le commentaire
Partager sur d’autres sites

Lorsqu'on demande à exécuter un programme, le système le recherche en utilisant la variable $PATH de manière séquentielle.

La recherche s'arrête dès que le programme est trouvé, dans ton cas la recherche de la command uptime se fait comme suit :


PATH=/opt/bin:/opt/sbin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/syno/sbin:/usr/syno/bin:/usr/local/sbin:/usr/local/bin


/opt/bin/uptime # Trouvé, la recherche s'arrête ici

/opt/sbin/uptime

/sbin/uptime

/bin/uptime

/usr/sbin/uptime

/usr/bin/uptime

/usr/syno/sbin/uptime

/usr/syno/bin/uptime

/usr/local/sbin/uptime

/usr/local/bin/uptime

Pour que ipkg ne remplace pas les programmes existants, il suffirait de modifier l'ordre de recherche dans la variable $PATH en plaçant les chemins vers ipkg à la fin.

PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/syno/sbin:/usr/syno/bin:/usr/local/sbin:/usr/local/bin:/opt/bin:/opt/sbin


/sbin/uptime

/bin/uptime

/usr/sbin/uptime

/usr/bin/uptime # Trouvé, la recherche s'arrête ici

/usr/syno/sbin/uptime

/usr/syno/bin/uptime

/usr/local/sbin/uptime

/usr/local/bin/uptime

/opt/bin/uptime

/opt/sbin/uptime

Oui en effet, mais ce n'est pas le but recherché pour tous les paquets installés...

Certains paquets ont des fonctionnalités plus proches de ce qu'on a l'habitude d'avoir sur nos système Linux (rsync, find, etc.) dans ipkg alors que la version de BusyBox du Syno ne les ont pas.

Le principe étant d'installer un paquet pour s'en servir, mais que uptime de coreutils ne convient pas, alors il faudrait plutôt supprimer le lien symbolique comme je l'ai indiqué.

C'est sûr ta manière fonctionne également mais court-circuite complètement les paquets installés avec ipkg.

La manière de CoolRaoul fonctionne également, mais sera perdue à la prochaine mise à jour DSM.

Un fichier installé par ipkg ne sera recréé que lors d'un upgrade de ipkg, et que ce paquet est mis à jour.

Dans tous les cas, il faut savoir ce que l'on fait....

A+

Michel

Lien vers le commentaire
Partager sur d’autres sites

Pour que ipkg ne remplace pas les programmes existants, il suffirait de modifier l'ordre de recherche dans la variable $PATH en plaçant les chemins vers ipkg à la fin.

Oui mais cela va avoir l'inconvénient de masquer toutes les commandes optware pour lesquelles un équivalent DSM existe, et il peut y en avoir un paquet comme on peut le constater avec la commande ci dessous:

ls /bin /usr/bin /sbin /usr/sbin | sed -e 's-^.*/--' |xargs which |grep /opt [/CODE]

C'est pourquoi je préfère l'approche au coup par coup par alias.

Lien vers le commentaire
Partager sur d’autres sites

La manière de CoolRaoul fonctionne également, mais sera perdue à la prochaine mise à jour DSM.

Pas forcément: je met ce genre de chose dans "/usr/local/etc/profile", qui n'est pas touché (comme tout ce qui est sous /usr/local) en cas de mise a jour DSM

Suffit d'ajouter ". /usr/local/etc/profile" dans /etc/profile en cas d'update.

Et cela peut même être fait automatiquement par un script de startup dans "/usr/local/etc/rc.d" (pas touché donc) , qui ferait un truc du genre de

grep -q "/usr/local/etc/profile" /etc/profile || echo ". /usr/local/etc/profile" >> /etc/profile[/CODE]

Lien vers le commentaire
Partager sur d’autres sites

Encore une fois merci à tous pour vos réponses et explications, en particulier PiwiLabruti pour ton explication ;)

Il se trouvait, allez savoir pourquoi, que la commande uptime était bien liée à l'exécutable d'optwaren, que ledit fichier est bien présent mais que ça me renvoie une erreur :


/opt/bin/coreutils-uptime: couldn't get boot time: No such file or directory

J'ai supprimé le lien comme indiqué par MrWaloo et tout est rentré dans l'ordre :

NAS> which uptime

/usr/bin/uptime

Cette erreur de fichier soit-disant absent pourrait-elle être liée au fait que je n'ai pas réussi à remettre en fonction le serveur sftp de manière hybride, comme je le faisais sous DSM 4.0, à savoir suivre cela :
  • Install ipkg following the following instructions.
  • reboot
  • ipkg update
  • ipkg install openssh-sftp-server
  • Edit /etc/ssh/sshd_config with the following:

# override default of no subsystems

#Subsystem sftp /usr/libexec/sftp-server

Subsystem sftp /volume1/@optware/libexec/sftp-server


Lien vers le commentaire
Partager sur d’autres sites

Cette erreur de fichier soit-disant absent pourrait-elle être liée au fait que je n'ai pas réussi à remettre en fonction le serveur sftp de manière hybride, comme je le faisais sous DSM 4.0, à savoir suivre cela :

  • Install ipkg following the following instructions.
  • reboot
  • ipkg update
  • ipkg install openssh-sftp-server
  • Edit /etc/ssh/sshd_config with the following:


# override default of no subsystems

#Subsystem sftp /usr/libexec/sftp-server

Subsystem sftp /volume1/@optware/libexec/sftp-server


Je pencherait plutôt, comme je le disais dans à penser que la raison est que la nouvelle version de sshd intégrée dans DSM4.1 ne prend plus en compte toutes les clauses de "/etc/ssh/sshd_config", et en particulier "Subsystem sftp" (depuis que Syno a intégré son propre client sftp)

Lien vers le commentaire
Partager sur d’autres sites

la connexion est refusée parce que je n'ai pas générée de clef pour l'user root, juste pour mon laptop.

Je n'ai pas dit qu'openssh ne marchait pas, c'est le sshd de syno qui n'accepte pas le binaire sftp d'optware comme on l'a dit.

Je dis que :

1/je n'arrive pas à arrêter le service proprement (juste par la commande kill)

2/ j'ai mon /var/log/messages rempli de

Sep 11 16:06:34 sshd[28160]: error: Could not load host key: /opt/etc/openssh/ssh_host_ecdsa_key

Sep 11 16:06:35 sshd[28185]: error: setlogin failed: Function not implemented

3/ je donnais les liens vers ma config, si jamais qqn voyait un truc pas net

4/ la commande uptime foirée, ça, c'est réglé :)

Lien vers le commentaire
Partager sur d’autres sites

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.