Bien ahora cambiaremos más parámetros del archivo de configuración:

Cambiando las direcciones IP de escucha:

Pordefecto SSH escucha a todo el mundo, es decir que cualquiera encualquier parte del mundo se puede conectar a nuestra máquina. Ahorasólo lo habilitaremos para una dirección IP:


# Use these options to restrict which interfaces/protocols sshd will bind to
ListenAddress 192.168.1.67


Reiniciamosel servicio y hagamos una prueba, nos conectamos desde una máquina conip distinta a la 192.168.1.67, nos devolverá algo como:

$ ssh -p 5540 ztux@192.168.1.67 
ssh: connect to host 192.168.1.67 port 5540: Connection refused

Esto es porque la IP de otra máquina no es aceptada, es rechazada…
Ahora haremos la prueba desde una máquina que sí tenga la IP que queremos:

ztux@rootbit ~ $ ssh -p 5540 ztux@192.168.1.67
ztux@192.168.1.67's password:
Linux rootbit 2.6.31-14-generic #48-Ubuntu SMP Fri Oct 16 14:04:26 UTC 2009 i686

To access official Ubuntu documentation, please visit:
http://help.ubuntu.com/
Last login: Thu Oct 28 18:46:37 2010 from 192.168.1.67




Estableciendo Protocolo de SSH:

ConSSH podemos trabajar con protocolo 1 y 2, lo establecemos en 2, peroúltimamente esta configuración ya viene por defecto en 2… asi queestablecemos a Protocolo 2

Protocol 2

LoginGrace Time
Aquípodemos cambiar el tiempo en que el usuario puede estar en la consola ycolocar su contraseña,si pasa cierto tiempo (que nosotros cambiaremos)y el usuario no se autentica se cerrará la conexión. Para cambiar estocambiamos en el archivo de configuración el parámetro siguiente:

$ sudo nano /etc/ssh/sshd_config
# Authentication:
LoginGraceTime 30

Vamos a ver que pasa cuando nos pasamos del tiempo:

$ ssh -p 5540 ztux@192.168.1.67
ztux@192.168.1.67’s password:
Connection closed by UNKNOWN


Conectarse como root.
Por defecto SSH hace que te puedas conectar como root a la máquina. Para cambiar esto simplemente esitamos en esta parte:

# Authentication:
PermitRootLogin no


No permitir contraseñas vacías.
Por default viene que no pero, hay que revisar.

# To enable empty passwords, change to yes (NOT RECOMMENDED)
PermitEmptyPasswords no

SSH (Secure SHell, en español: intérprete de órdenes segura) es el nombre de un protocolo y del programa que lo implementa, y sirve para acceder a máquinas remotas a través de una red. Permite manejar por completo la computadora mediante un intérprete de comandos, y también puede redirigir el tráfico de X para poder ejecutar programas gráficos si tenemos un Servidor X (en sistemas Unix y Windows) corriendo.
Además de la conexión a otros dispositivos, SSH nos permite copiar datos de forma segura (tanto ficheros sueltos como simular sesiones FTP cifradas), gestionar claves RSA para no escribir claves al conectar a los dispositivos y pasar los datos de cualquier otra aplicación por un canal seguro tunelizado mediante SSH. (Obtenido de Wikipedia).

Bien lo que vamos a hacer ahora es Instalar un paquete ssh en nuestro PC, yo lo hare desde Linux Mint, si utilizan otra distro Linux, solo cambien el comando según sea sea distro…
Para instalarlo en esta distro basada en debian teclearemos:

$ sudo aptitude install ssh

Instalación de SSH


Esto nos instalara los paquetes que necesitamos…
Después editaremos un archivo donde viene toda la configuración de la conexión ssh. Comenzaremos a hacer un poco más seguro nuestro SSH.
 Por defecto el archivo se encuentra en /etc/ssh/sshd_config: así que editaremos ese archivo

$ sudo nano /etc/ssh/sshd_config



Ahora observemos el archivo configuración, amigos, recuerden que las líneas que lleven # es que son comentarios, pueden agregar comentarios para agregar una descripción del algo, por ejemplo el puerto que usan, estas líneas no son leídas por el servicio SSH.

Primero cambiaremos el Puerto:

Por defecto SSH trabaja en el puerto 22, como ya sabrán los escaners de puertos, exploits, etc. Fijan mucho la mirada en el puerto 22, así que lo cambiaremos (claro que esto es opcional, pero así tendrán su SSH más segura, ya que ese es el objetivo de este tuto XD):

    # What ports, IPs and protocols we listen for
    Port 5540



Ahora ssh estará trabajando en el puerto 5540!!
Guardamos el archivo con Ctr+O y salimos con Ctrl+X
Ahora veremos cómo funciona hagamos una prueba.
Recuerden que para todos los cambios de la conexión SSH se necesita un reinicio del servicio, por lo que ahora reiniciaremos el servicio!!!

$ sudo /etc/init.d/ssh restart
* Restarting OpenBSD Secure Shell server sshd [ OK ]

 Ahora hay que probar, si haríamos una conexión SSH normal, lo que teclearíamos sería:

$ ssh ztux@192.168.1.67


Donde:
ztux: nombre de usuario que se quiere conectar
192.168.1.73: La ip de la maquina a la que nos queremos conectar.

Si tecleamos de esa forma, nos devolvería un error así:

    ssh: connect to host 192.168.1.67 port 22: Connection refused
  

Esto sucede porque por defecto se conecta al puerto 22, y como cambiamos el puerto pues no conecta…
Asi que tenemos que teclear asi:

$ ssh –p 5540 ztux@192.168.1.67



Donde:
-p: Indica puerto, después de este, tenmos que colocar el puerto que ya configuramos, en este caso el 5540.

Colocamos lo que nos pide, y listo, tenemos acceso a nuestra maquina!!

Dentro de la Máquina
Hola a todos…
En este mini manual les mostrare los comandos más básicos de Linux, que deben de conocer para interactuar con la máquina en modo texto…


Bien empecemos:

ls : muestra todos los archivos que hay dentro de una carpeta.
ls –l: si agregamos -l al comando ls nos mostrara los archivos con sus respectivos permisos (lectura, escritura, ejecutable)
ls –a: Muestra todos los archivos, incluso los ocultos.
pwd : nos muestra el directorio en el que nos encontramos.
mkdir: crea un directorio, ejemplo: $ mkdir carpeta_archivos
rmdir: Elimina un directorio, ejemplo: $ rmdir carpeta_archivos
rm: elimina un archivo.
cd: sirve para cambiar de directorio, ejemplo, $ cd home.
cd.. : nos llevara un directorio arriba.
cd ~ = nos regresa al directorio de hogar, carpeta home.
startx: sirve para iniciar un entorno gráfico.
su: Significa Super User (Super Usuario) y sirve para que tengamos los permisos de administrador y poder hacer cambios al sistema.
cp: Significa copy, con el que podemos hacer una copia de un archivo. Ejemplo: $cp miarchivo.txt /home/miarchivo.txt
hostname: nos muestra el nombre de la máquina.
nano :Es un editor de texto
cal: Nos muestra un calendario.
top: nos muestra los procesos de nuestra compu.
reboot: reinicia el equipo (necesitas ser Super Usuario).
halt: apaga el equipo (también se necesita ser SU)
logout: Sirve para salir de una sesión de consola.
ifconfig: Muestra nuestros dispositivos de red.
iwconfig: Nos muestra nuestros dispositivos de red inalámbricos.
host: Nos muestra el nombre de una PC en red, ejemplo: $host 192.168.1.45 o también $host Nombre_de_la_pc
date= fecha y hora
uptime= muestra cuanto tiempo llevan en la compu
free= visualiza el uso de la RAM
ping: Comprueba el estado de la conexión del host local con uno o varios equipos remotos por medio del envío de paquetes ICMP de solicitud y de respuesta.
whois: nos muestra información de una computadora o servidor, etc. Ejemplo: $whois www.google.com
clear: Borra lo que hay en pantalla.
history: nos muestra el historial de los comandos usados
dig: Obtiene información del DNS de un dominio, ejemplo: $dig www.google.com
exit: Sirve para salir de una sesión de consola.
mv: Que significa mover, mueve archivos de diferentes directorios, ejemplo: $mv /home/mi_archivo.txt /bin/miarchivo_copia.txt

Bueno pues por el momento son de los que me acuerdo, poco a poco iré agregando más…

Un saludo a todos!!
XD…
By ZtuX (SecretUser)