El archivo de configuración de SSH
Encontrará el archivo de configuración de SSH en /etc/ssh/sshd_config
Para editar este archivo, tendrá que entrar a su servidor como el usuario root
. Una vez que haya entrado a su cuenta de usuario normal por medio de SSH, puede convertirse en el usuario root
con el comando su
. Por ejemplo:
1
2
3
|
usuario@ejemplo.com [~] # su - Password: root@host [~] # |
Editar el archivo de configuración de SSH
Para cambiar parámetros específicos dentro de sshd_config
, necesita descomentar la línea al eliminar el signo de libra (#) y cambiar el valor de la línea. Por ejemplo, el puerto de SSH predeterminado aparece en una línea como sigue:
1
|
#Port 22 |
Para cambiar el puerto SSH a 456, tendrá que cambiar la línea a esto:
1
|
Port 456 |
Cambios a sshd_config recomendados
- Port — El número de puerto por el cual
sshd
escucha para encontrar conexiones. Le recomendamos escoger un número de cuatro o cinco dígitos. El valor máximo aceptado es 49151. - Protocol — El protocolo de SSH que usará su servidor. Le recomendamos cambiar este valor a 2.
- Listen Address — La dirección de IP por el cual
sshd
escucha para encontrar conexiones. Esta dirección de IP debe ser propiedad de su servidor. Le recomendamos que no use su dirección de IP principal compartida para este valor. Usted puede crear una entrada de servidor de nombre (nameserver) específicamente para la nueva dirección de IP de SSH. Para crearla, necesitará crear el archivo de zona (por ejemplo,ssh.ejemplo.com
) y añádale una entrada A al archivo de zona para la nueva entrada de servidor de nombre (nameserver). - PermitRootLogin — Esta opción especifica si usted desea, o no, permitirles a otros entrar directamente al servidor por medio de SSH como el usuario
root
. Le recomendamos que establezca el valor ano
.
Después de que haya terminado de configurar SSH, tendrá que reiniciar el daemon de SSH. Puede reiniciarlo al emitir el siguiente comando: /etc/init.d/sshd restart
Luego de reiniciar SSH, tendrá que salir de su servidor y entrar nuevamente con el usuario, dirección de IP y número de puerto apropiados que usted especificó bajo sshd_config
.
Si usted desconfiguró accidentalmente su archivo de configuración de SSH, puede acceder el siguiente enlace para correr un script en su servidor: https://ejemplo.com:2087/scripts2/doautofixer?autofix=safesshrestart
Este script configurará temporalmente un archivo adicional de configuración de SSH para el puerto 23
, lo que le permitirá acceder, editar y arreglar el archivo de configuración de SSH original.
Archivo sshd_config de ejemplo
Advertencia: No copie el archivo de ejemplo a continuación y trate de usarlo en su servido. Esto resultará en una configuración de SSH rota. Este archivo es solamente un ejemplo.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
|
# $OpenBSD: sshd_config,v 1.73 2005/12/06 22:38:28 reyk Exp $ # This is the sshd server system-wide configuration file. See # sshd_config(5) for more information. # This sshd was compiled with PATH=/usr/local/bin:/bin:/usr/bin # The strategy used for options in the default sshd_config shipped with # OpenSSH is to specify options with their default value where # possible, but leave them commented. Uncommented options change a # default value. Port 3456 Protocol 2 #AddressFamily any ListenAddress 192.168.0.1 #ListenAddress :: # HostKey for protocol version 1 #HostKey /etc/ssh/ssh_host_key # HostKeys for protocol version 2 #HostKey /etc/ssh/ssh_host_rsa_key #HostKey /etc/ssh/ssh_host_dsa_key # Lifetime and size of ephemeral version 1 server key #KeyRegenerationInterval 1h #ServerKeyBits 768 # Logging # obsoletes QuietMode and FascistLogging #SyslogFacility AUTH SyslogFacility AUTHPRIV #LogLevel INFO # Authentication: #LoginGraceTime 2m PermitRootLogin no #StrictModes yes #MaxAuthTries 6 #RSAAuthentication yes PubkeyAuthentication yes #AuthorizedKeysFile .ssh/authorized_keys # For this to work you will also need host keys in /etc/ssh/ssh_known_hosts #RhostsRSAAuthentication no # similar for protocol version 2 #HostbasedAuthentication no # Change to yes if you don't trust ~/.ssh/known_hosts for # RhostsRSAAuthentication and HostbasedAuthentication #IgnoreUserKnownHosts no # Don't read the user's ~/.rhosts and ~/.shosts files #IgnoreRhosts yes # To disable tunneled clear text passwords, change to no here! PasswordAuthentication yes #PermitEmptyPasswords no #PasswordAuthentication no # Change to no to disable s/key passwords #ChallengeResponseAuthentication yes ChallengeResponseAuthentication no # Kerberos options #KerberosAuthentication no #KerberosOrLocalPasswd yes #KerberosTicketCleanup yes #KerberosGetAFSToken no # GSSAPI options #GSSAPIAuthentication no GSSAPIAuthentication yes #GSSAPICleanupCredentials yes GSSAPICleanupCredentials yes # Set this to 'yes' to enable PAM authentication, account processing, # and session processing. If this is enabled, PAM authentication will # be allowed through the ChallengeResponseAuthentication mechanism. # Depending on your PAM configuration, this may bypass the setting of #PasswordAuthentication no # "PermitRootLogin without-password". If you just want the PAM account and # session checks to run without PAM authentication, then enable this but set # ChallengeResponseAuthentication=no #UsePAM no UsePAM yes # Accept locale-related environment variables AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT AcceptEnv LC_IDENTIFICATION LC_ALL #AllowTcpForwarding yes #GatewayPorts no #X11Forwarding no X11Forwarding yes #X11DisplayOffset 10 #X11UseLocalhost yes #PrintMotd yes #PrintLastLog yes #TCPKeepAlive yes #UseLogin no #UsePrivilegeSeparation yes #PermitUserEnvironment no #Compression delayed #ClientAliveInterval 0 #ClientAliveCountMax 3 #ShowPatchLevel no #UseDNS yes #PidFile /var/run/sshd.pid #MaxStartups 10 #PermitTunnel no # no default banner path #Banner /some/path # override default of no subsystems Subsystem sftp /usr/libexec/openssh/sftp-server |
Configurar un mensaje legal de SSH
Un mensaje legal de SSH (mensaje del día, o motd
de las siglas en inglés de message of the day) aparece cuando alguien entra a su servidor por SSH. Este mensaje se contiene dentro de este archivo: /etc/motd
Para establecer un mensaje legal, use su editor de texto preferido para editar el archivo y guardar sus cambios. Por ejemplo, uno de nuestros analistas técnicos usa el siguiente mensaje:
1
2
3
4
5
6
|
ALERT! You are entering a secured area! Your IP and login information have been recorded. System administration has been notified. This system is restricted to authorized access only. All activities on this system are recorded and logged. Unauthorized access will be fully investigated and reported to the appropriate law enforcement agencies. |
Usar claves SSH
Puede usar la característica de WHM SSH Password Authorization Tweak (Home >> Security Center >> SSH Password Authorization Tweak) para desactivar la autenticación de contraseña. Desactivar la autenticación de contraseña obliga a los usuarios a entrar mediante SSH con claves en vez de con contraseñas.
Fuente: cPanel Knowledge