martes, 31 de mayo de 2022

Ingresar como root por ssh

 1) Ingresar con usuario admin y elevar privilegios a root.

2) Establecer una clave para el usuario root con el comando passwd root

3) Editar el archivo /etc/ssh/sshd_config para cambiar la linea:

PermitRootLogin yes

4) Reiniciar el servicio ssh con el comando /etc/init.d/ssh restart o systemctl ssh restart


viernes, 20 de mayo de 2022

Instalar Xrdp

 Xrdp está incluido en los repositorios predeterminados de Ubuntu. Para instalarlo, ejecuta:

sudo apt install xrdp 

Una vez que se complete la instalación, el servicio Xrdp se iniciará automáticamente. Puedes verificarlo escribiendo:

sudo systemctl status xrdp

De forma predeterminada, Xrdp usa el /etc/ssl/private/ssl-cert-snakeoil.keyarchivo que solo pueden leer los miembros del grupo "ssl-cert". Ejecute el siguiente comando para agregar el xrdpusuario al grupo :

sudo adduser xrdp ssl-cert  

Reinicie el servicio Xrdp para que los cambios surtan efecto:

sudo systemctl restart xrdp

Luego cambiamos unas cosas en la configuracion entrando a startswm.sh:

sudo nano /etc/xrdp/startwm.sh

Cuando tenemos el contenido del archivo en pantalla, nos desplazamos hasta el final y entre el "fi" y el "test" agregamos:

unset DBUS_SESSION_BUS_ADDRESS

unset XDG_RUNTIME_DIR

presionamos control x y s para salvar

Ahora ya  podemos usar nuestro cliente RDP.

jueves, 19 de mayo de 2022

Copia remota en linux

Aspectos a tener en cuenta

Como SCP utiliza el cifrado SSH, necesitarás la contraseña ssh para que se realice la transferencia de archivos. Además, es necesario tener permiso de lectura en la máquina de la que estás a punto de copiar y privilegios de escritura en la(s) máquina(s) a la que copiarás.

Para la autenticación y la configuración de la conexión, deberás generar un par de llaves ssh en el terminal mediante el siguiente comando:

ssh-keygen -t rsa

Copia esta llave del sistema remoto usando:

ssh-copy-id user@remote_machine

Una vez que te hayas autenticado en la(s) máquina(s) remota(s), la llave pública se copiará y estarás listo para iniciar las transferencias.

Si no recuerdas la(s) contraseña(s) de root para cada sistema, puedes hacer que el cliente ssh seleccione el archivo desde el cual se lee automáticamente la llave de identidad privada para la confirmación de RSA.

Para la versión 2 del protocolo, la ruta de identidad predeterminada de la llave del host es ~/.ssh/id_dsa, mientras que para la versión 1 del protocolo es ~/.ssh/id_rsa. Luego, debes averiguar dónde está almacenada la copia de seguridad de las llaves privada y pública para poder emplear el comando ssh para usarlas automáticamente.

Para la ruta /back-up/home/jack/.ssh, el comando es el siguiente:

ssh -i /back-up/home/user/.ssh/id_dsa user@yourserver.servername.domain

Consejo profesional: esta opción tiene el valor predeterminado –overwrite [yes], así que, a menos que especifiques la opción –overwrite no o –overwrite ask en el comando scp, la operación sobrescribirá los archivos que tienen nombres y ubicaciones idénticos sin ninguna advertencia.

Si estás transfiriendo archivos grandes, te recomendamos utilizar una sesión tmux o que ejecutes el comando dentro de una pantalla diferente. Además, también debes usar la opción –v para transferencias grandes. Esto forzará a scp a mostrar cualquier conexión de depuración, autenticación o problemas de configuración.

Copiando archivos con el comando SCP

La mejor parte de SCP en Linux es que te da la posibilidad de transferir archivos entre dos hosts o entre un host y una máquina local. Veamos cómo se debería usar el comando para cada tipo de transferencia.

Archivo local a una ubicación remota

Copiaremos un archivo local scp.zip, al usuario de la máquina remota llamado root. El nombre de usuario es seguido por la dirección IP del servidor.

Ejemplo:

scp /users/Edward/desktop/scp.zip root@191.162.0.2:/writing/article

Si no tienes configurada una confirmación automática de cliente ssh, se te solicitará que ingreses la contraseña del usuario de la máquina remota y verás un medidor de progreso. Se vería algo como esto:

root@191.162.0.2’s password:
novel3.zip   100% 0 0.0KB/s 00:00

Pero digamos que la máquina remota está configurada para escuchar las conexiones SSH en un puerto que no sea el predeterminado 22. En este caso, debes especificar ese puerto usando una opción.

scp -P 2322 /users/Edward/desktop/scp.zip root@191.162.0.2:/writing/article

Si también quieres cambiar el nombre del archivo durante la operación de transferencia, tu comando tendrá este aspecto (si tu puerto no es el predeterminado, simplemente agrega –P y el número de puerto):

scp /users/Edward/desktop/scp.zip root@191.162.0.2:/writing/article/howtoscp.zip

Si quieres copiar un directorio que tiene más archivos y/o subdirectorios, usa el comando -r y también puede ser -v para que muestre detalles de la conexión

scp -r -v /users/Edward/desktop root@191.162.0.2:/writing/article

Archivo remoto a máquina local

En este proceso, el origen y el destino del comando se invierten, por lo que esto debe reflejarse en la sintaxis. Esta vez, estamos intentando copiar scp.zip desde el mismo host remoto a nuestra máquina local:

scp root@191.162.0.2:/writing/articles/SCP.zip Users/Edward/Desktop

Nuevamente, esto debería solicitar la misma salida de inicio de sesión SSH en la que debes ingresar la contraseña, a menos que la autenticación esté deshabilitada por los privilegios de sudo, o si forzaste al cliente ssh a usar una llave privada en tu máquina.

Archivo remoto a otra ubicación remota

Para copiar archivos de un host remoto a otro, deberás ingresar las contraseñas de ambas cuentas después de ejecutar este comando en tu terminal.

Ejemplo:

scp root@191.162.0.2:/writing/article/scp.zip edward@11.10.0.1:/publishing

El comando anterior copia el archivo fuente /writing/article/scp.zip desde el primer host al segundo. Para copiar carpetas, simplemente agrega la opción –r y especifica la ruta de la carpeta en lugar del archivo dentro de ella, como hicimos antes.

En circunstancias normales, el archivo va directamente del primer host remoto al segundo. Sin embargo, si quieres redireccionar la operación a través de tu máquina, puedes agregar la opción -3:

scp -3 root@191.162.0.2:/writing/article/scp.zip edward@11.10.0.1:/publishing
Extraído de https://www.hostinger.es/

Instalar SSH en Ubuntu

En la terminal escribimos: sudo apt-get install openssh-server openssh-client

Si al tratar de ingresar por ssh usuario@ip_servidor nos da ingreso es porque funcionó

Por ejemplo, si mi usuario es internetlan y la ip: 192.178.1.205, pondríamos en el terminal: ssh internetlan@192.178.1.205.

Si está iniciado mostrará: sshd us running. Si está detenido podemos inicarlo ejecutando: sudo /etc/init.d/ssh start

lunes, 16 de mayo de 2022

Crontab

 

Es utilizado en Linux para programar la ejecución de comandos, o sea, para automatizar tareas.

Para ver los crontab que existen, utilizamos este comando:

 sudo crontab -l

Para editarlos:

sudo crontab -e

 

la sintaxis es la siguiente, 5 asteriscos seguidos del comando a ejecutar.

 

* * * * * /home/ejecutar/script.sh

 

De izquierda a derecha, los asteriscos representan:

 

Minutos: de 0 a 59.

Horas: de 0 a 23.

Día del mes: de 1 a 31.

Mes: de 1 a 12.

Día de la semana: de 0 a 6, siendo 0 el domingo.

Si se deja un asterisco, quiere decir "cada" minuto, hora, día de mes, mes o día de la semana.

Otro ejemplo:

30 2 * * 1 /home/ejecutar/script.sh

En el minuto 30

De las 2 de la noche

De cada día del mes

De cada mes

Sólo si es viernes

 

 

Ejecutar un script de lunes a viernes cada 10 minutos desde las 2:00 horas durante una hora:

0,10,20,30,40,50 2 * * 1-5 /bin/ejecutar/script.sh

 

Esto quizá puede ser largo. La sintaxis de crontab permite lo siguiente. Imaginemos que queremos ejecutarlo cada 5 minutos:

 

*/5 2 * * 1-5 /bin/ejecutar/script.sh

 

También hay palabras reservadas para facilitar el uso:

@reboot: se ejecuta una única vez al inicio.

@yearly/@annually: ejecutar cada año.

@monthly: ejecutar una vez al mes.

@weekly: una vez a la semana.

@daily/@midnight: una vez al día.

@hourly: cada hora.

Por ejemplo, para ejecutar el script cada hora:

 

@hourly /home/ejecutar/script.sh

Como crear un script en Linux

 Un script, es un archivo de texto con lineas de comandos, que son ejecutados de principio a fin.

 

 Podemos hacer un script, entonces y ademas automatizarlo a través de una tarea, si es algo que se realiza frecuentemente.

 

Creamos un archivo de texto y le ponemos la extensión .sh. Esto se hace fácil desde la consola utilizando el comando touch.

 

touch prueba.sh

 

Todos los shell script, obligatoriamente deben tener una primera linea que es:

 

#! /bin/bash

 

Dentro del script podemos emplear todos los comandos de Linux, o sea, cualquier instrucción que podamos introducir a través de la terminal, puede ser incluido en el script, además de otras herramientas como estructuras condicionales, operadores aritméticos, comparadores, entre otros.

 

A continuación un ejemplo, con comandos básicos:

 

#! /bin/bash

 

# Nos colocamos en el directorio

 

cd Documentos

 

# Creamos un archivo de texto en el cual cada vez que se ejecuta el script se agrega un +1

 

echo -e "+1" >> /home/carlos/Documentos/dato.txt

 

# Borramos lo que tiene respado

 

rm -r /home/carlos/Documentos/Respaldos/

 

# Copiamos la carpeta a donde queremos

 

cp -r /home/carlos/Documentos/carpeta/ /home/carlos/Documentos/Respaldos/

 

Luego, debemos otorgarle permisos de ejecución al archivo. Esto es algo muy simple de realizar. Vamos a la terminal y nos ubicamos en el directorio de nuestro script y usamos el comando chmod:


Permiso a todos los usuarios de lectura, escritura y ejecución:

sudo chmod a+rw prueba.sh


Para ejecutarlo sería: 

./prueba.sh


miércoles, 11 de mayo de 2022

Renovar ip en Ubuntu

Si no se le pasa argumento alguno al comando dhclient, este configurará todas las interfaces de red que se encuentre.

$ sudo dhclient -v

Internet Systems Consortium DHCP Client 4.3.5
Copyright 2004-2016 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
 
Listening on LPF/ens33/00:0c:29:04:6e:18
Sending on   LPF/ens33/00:0c:29:04:6e:18
Sending on   Socket/fallback
DHCPDISCOVER on ens33 to 255.255.255.255 port 67 interval 5
DHCPREQUEST of 192.168.170.136 on ens33 to 255.255.255.255 port 67
DHCPOFFER of 192.168.170.136 from 192.168.170.254
DHCPACK of 192.168.170.136 from 192.168.170.254
bound to 192.168.170.136 -- renewal in 867 seconds.