8 votes

Impossible de trouver le processus sshd

En utilisant PuTTY sur mon ordinateur portable Windows, je suis capable de ssh sur le bureau de mon Mac, mais une fois que je me suis connecté, je ne trouve aucun sshd en cours d'exécution sur le Mac. Par exemple, exécuter le processus suivant juste après ssh-ing dans le Mac :

% ps -eo pid,command | grep sshd | grep -v grep

...ne produit aucun résultat. Bien sûr, inutile de préciser que j'obtiens les mêmes résultats (aucune sortie) si j'utilise ps -ef au lieu de ps -eo pid,command .

Aussi, il n'y a pas /var/run/sshd.pid fichier.

Qu'est-ce qui se passe ? Est-ce que OS X utilise un programme différent pour gérer les connexions ssh entrantes ?

10voto

Oskar Points 1242

Non - OS X utilise OpenSSH et vous pouvez inspecter le code source utilisé ici .

D'après vos résultats, il semble que sshd ne soit pas actif sur la machine. Aussi ps|grep ssh[d] empêchera votre processus grep de correspondre à la cible. Certaines personnes s'inquiètent lorsqu'elles ne voient pas sshd fonctionner, car il est démarré à la demande lorsque launchd détecte une requête réseau entrante. Êtes-vous certain que ssh est actif ? Vous pouvez le vérifier avec lsof|grep ssh si vous avez des doutes.

Recherchez ceci lorsqu'un ssh a été initié récemment sur Lion :

Last login: Mon Jul 16 17:58:26 2012 from 10.0.1.35
mac:~ mike$ ps -ef|grep sshd
0   60320     1   0  4:23PM ??         0:00.00 /usr/libexec/launchproxy /usr/sbin/sshd -i
0   60321 60320   0  4:23PM ??         0:00.15 /usr/sbin/sshd -i
501 60330 60321   0  4:23PM ??         0:00.01 /usr/sbin/sshd -i
501 60336 60331   0  4:23PM ttys003    0:00.00 grep sshd

4voto

Greg Points 31

Est-ce que c'est correct de poster sur une question vraiment ancienne... Je cherchais à répondre à la même chose aujourd'hui et je vais tenter de clarifier les choses.

Connexion à distance activée dans les préférences système Partage et le port 22 est ouvert :

% netstat -p tcp -lna | grep '\*\.22'
tcp4       0      0  *.22 *.*  LISTEN     
tcp6       0      0  *.22 *.*  LISTEN

Ensuite, lsof montre que launchd est celui qui écoute (j'ai trouvé les bonnes options pour lsof dans la page de manuel et j'ai exécuté en tant que Root) :

# lsof -iTCP -sTCP:LISTEN | grep ssh
launchd    1 root   50u  IPv6 0xc3c700cb936cd50f      0t0  TCP *:ssh (LISTEN)
launchd    1 root   51u  IPv4 0xc3c700cb9452be6f      0t0  TCP *:ssh (LISTEN)
launchd    1 root   53u  IPv6 0xc3c700cb936cd50f      0t0  TCP *:ssh (LISTEN)
launchd    1 root   58u  IPv4 0xc3c700cb9452be6f      0t0  TCP *:ssh (LISTEN)

Et lorsque vous vous connectez au système par ssh, vous voyez que ssh-agent et sshd sont créés pour gérer la connexion.

 # ps -ef | grep ssh | grep -v grep
 501  1231     1   0 12:52PM ??         0:00.02 /usr/bin/ssh-agent -l
 0    1257     1   0 12:53PM ??         0:00.04 sshd: xxxxx [priv] 
 501  1259  1257   0 12:53PM ??         0:00.02 sshd: xxxxx@ttys002

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X