5 votos

Configuración de sshd en OS X Lion

Estoy tratando de configurar un poco de seguridad (rudimentaria) ssh en mi estación de trabajo detrás de un router en una red doméstica. Está ejecutando Mac OS X Lion (10.7).

Según tengo entendido, lo que se haría normalmente en tales circunstancias es cambiar las partes apropiadas de un /etc/sshd_config archivo. Por ejemplo, podría tener

# akil@computerA:/etc/sshd_config
Port 12345
Protocol 2
PermitRootLogin no
PasswordAuthentication no

Y esto, respectivamente, sólo escucharía en el puerto 12345, aceptaría el método de autenticación "2" solamente, no permitiría los inicios de sesión Root, y sólo permitiría los inicios de sesión con llave. Luego reiniciaría el demonio ssh y entonces todo sería genial.

Aparentemente esto funcionó en Snow Leopard (OS X 10.6), pero no parece funcionar en Lion. Lion parece ignorar cualquier cosa en el sshd_config archivo.

Para cambiar el puerto, puedes seguir los consejos de algunos blogs y foros (1,2) que te dirigen a cambiar (a) añadir un nuevo servicio ssh editando /System/Library/LaunchDaemons/ssh.plist y b) definir el puerto del nuevo servicio en /etc/services .

Esto funciona -- haciendo ssh akil@computerA.local rechaza la conexión, pero ahora ssh akil@computerA.local -p 12345 funciona bien.

El problema es que no tengo ni idea de cómo utilizar pasos similares para cambiar cualquier otra cosa: ¿cómo puedo desactivar los inicios de sesión de root y / o autenticaciones de contraseña?

1: Cambiar el puerto sshd en Lion

2: Cambiar el puerto sshd en OS X 10.4

4voto

scottmarlowe Puntos 2952

No se puede cambiar el puerto en el que escucha sshd cambiándolo en sshd_config ya que sshd no está todavía en marcha cuando llega la conexión. sshd se lanza instantáneamente por launched cuando llega una conexión. Así que necesita cambiar el puerto en el elemento lanzado apropiado, o crear otro para tener un segundo puerto escuchando para las conexiones ssh entrantes.

Puede encontrar el archivo correcto en /System/Library/LaunchDaemons/ssh.plist

Copie esto en /Library/LaunchDaemons/ssh-alternative.plist y cambiar la siguiente parte:

            <key>Listeners</key>
            <dict>
                    <key>SockServiceName</key>
                    <string>ssh-alt</string>
            </dict>

Observa que el SockServiceName ha sido cambiado de ssh a ssh-alt. Para que funcione es necesario añadir un servicio llamado ssh-alt a /etc/services Por ejemplo así (para que coincida con tu ejemplo) añade esta línea:

ssh-alt 12345/tcp # ssh-alt

Entonces puedes cargar tu nueva configuración ssh-alternativa con sudo launchctl load -w /Library/LaunchDaemons/ssh-alt.plist

Si está ejecutando ipfw asegúrese de permitir las conexiones tcp al nuevo puerto. El Sharing.PrefPanel sólo le permitirá encender y del puerto 22 estándar de escucha sshd (A menos que cambie ssh en /etc/services lo cual hago no recomendar).

Además, puede evitar que este servicio sea anunciado por Bonjour eliminando la parte correspondiente del elemento lanzado.

        <key>Bonjour</key>
        <array>
            <string>ssh</string>
            <string>sftp-ssh</string>
        </array>

Si esto ya estaba en marcha, hay que descargar y cargar el artículo de nuevo.

1voto

En cuanto al puerto, siempre me ha resultado más fácil reasignarlo en mi router que en OS X. No siempre es posible, pero si tu router lo soporta, es trivial.

En cuanto a la autenticación, sshd está leyendo el archivo de configuración, sólo que se está utilizando más de un tipo de mecanismo. En tu caso, además de establecer PasswordAuthentication necesitas establecer ChallengeResponseAuthentication a 'no'.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X