domingo, 5 de julio de 2020

Instalar MS SQL Server en Ubuntu 16.04

En el post de hoy veremos como instalar MS SQL Server 2017 en Ubuntu 16.04, entiendo que los pasos también aplican para Ubuntu 18.04 aunque no para Ubuntu 20.04, que son las ultimas versiones LTS de Ubuntu.

Arrancamos:

Primero importamos las claves GPG del repositorio:

wget -qO- https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -

Agregamos el repo de Microsoft a nuestro Ubuntu:

sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/18.04/mssql-server-2017.list)"

Actualizamos los repos:

sudo apt-get update


Y finalmente instalamos el SQL:

sudo apt-get install -y mssql-server



Una vez finalizada la instalación, ejecutamos el setup de mssql-conf para configurar la contraseña de SA y elegir la versión del SQL:

sudo /opt/mssql/bin/mssql-conf setup


Cuando nos pide la versión a elegir, Elegimos la 2, que es la de Desarrollo, y que si bien no debe usarse para producción (porque deberíamos pagar) nos permite utilizarla de manera gratuita con todas las funcionalidades.

(Las ediciones de SQL Server 2017 que tienen licencia gratuita son: Evaluación, Desarrollo y Express.)

Luego aceptamos la licencia: Yes

Elegimos el Idioma Español: 3

Y configuramos la contraseña de SA: elegimos una contraseña para ese usuario y la confirmamos

(La contraseña debe tener al menos 8 caracteres, incluidas letras mayúsculas y minúsculas, dígitos de base 10 y/o símbolos no alfanuméricos).


Una vez finalizada la configuración verificamos que el servicio se este ejecutando:

systemctl status mssql-server --no-pager


Y listo. Ya podríamos conectarnos de manera remota al puerto TCP predeterminado del SQL Server (1433).

sábado, 4 de julio de 2020

ssh: Could not resolve hostname \342\200\223t: Name or service not known

Te traigo un tip que te salvará la vida (?)

Intentando conectarme por ssh a un server remoto para ejecutar un comando me encontré con el siguiente error:

ssh: Could not resolve hostname \342\200\223t: Name or service not known

Lo primero que pensé es que era un tema de DNS, pero probé algunas cosas sin éxito, hasta que empecé a Googlear y resultó ser que el problema era el guion.

Yo copié y pegue este comando:

ssh –t root@server.local 'sudo reboot'

Pero el guion del -t generaba el error. El correcto era:

ssh -t root@server.local 'sudo reboot'


Imperceptible, no jodamos ¬¬

Listo, sencillo. Pero emotivo.

Saludos!

viernes, 3 de julio de 2020

Unir Linux Ubuntu a Dominio Windows

Para unir nuestro servidor con Ubuntu a nuestro Dominio Windows primero tenemos que configurar en Ubuntu una IP fija y los DNS internos.
Luego debemos crear en el DNS un registro A con la IP privada del server Ubuntu y el correspondiente registro PTR.

Hecho eso, procedemos con la instalación y configuración del software pbis open, que es el que nos permitirá unir nuestro Ubuntu Linux al dominio.

Instalar Pbis Open:

Vamos a la siguiente dirección y elegimos la versión del software correspondiente a nuestro sistema operativo.

En mi caso, como es un Ubuntu 18.04 LTS de 64 bits elijo el que dice pbis-open-9.1.0.551.linux.x86_64.deb.sh:


Copiamos la URL del archivo y lo descargamos desde el servidor con el siguiente comando:

wget https://github.com/BeyondTrust/pbis-open/releases/download/9.1.0/pbis-open-9.1.0.551.linux.x86_64.deb.sh


Una vez descargado le damos permisos de ejecución:

chmod +x pbis-open-9.1.0.551.linux.x86_64.deb.sh


Y luego lo instalamos:

sudo ./pbis-open-9.1.0.551.linux.x86_64.deb.sh


Una vez instalado, y antes de unir la maquina al dominio, reiniciamos con:

sudo reboot

Al iniciar, ahora si, la unimos al dominio:

domainjoin-cli join nombrededominio

Nos va a pedir las credenciales de un usuario que tenga permisos para unir maquinas al dominio, las ingresamos y listo:


Ya tenemos la virtual agregada al dominio. Reiniciamos:

sudo reboot

jueves, 2 de julio de 2020

Could not reach the DC, it has been blacklisted

Hoy les traigo un tip salvador (?).
Al intentar unir una virtual con Linux a un dominio Windows con Pbis Open me daba el siguiente error:

Error: ERROR_DOMAIN_BLACKLISTED [code 0x0000251c]
Could not reach the DC, it has been blacklisted.


Solución:

Eliminamos el demonio avahi y probamos de nuevo:

sudo apt-get remove avahi-daemon

sudo domainjoin-cli join MIDOMINIO


Luego volvemos a instalar avahi-daemon:

sudo apt-get install avahi-daemon

Listo. Sencillo, pero emotivo.

Saludos!

miércoles, 1 de julio de 2020

Crear Azure Bastion

¿Que es Azure Bastion?

Azure Bastion es un servicio (PaaS) que proporciona conectividad RDP y SSH de manera segura y sin problemas a las máquinas virtuales a través del protocolo TLS.
Gracias a este servicio las máquinas virtuales no necesitan una dirección IP pública, ya que las conexiones se realizan hacia Azure Bastion, agregando de esta forma una capa de seguridad a las virtuales.
Con Azure Bastion, la conexión a la máquina virtual se realiza directamente desde el portal de Azure. No se necesita un cliente, agente o software adicional.
La implementación de Azure Bastion es por red virtual, con lo cual estará disponible para todas las máquinas virtuales que se encuentren en esa red.
Con Azure Bastion las maquinas virtuales no solo no necesitan una IP publica sino que tampoco necesitan exponer los puertos RDP ni SSH, debido a esto, están protegidas contra el escaneo de puertos por parte de usuarios maliciosos y malintencionados ubicados fuera de la red.
Con algunas variaciones de acuerdo a la cantidad de conexiones y sesiones en uso, Azure Bastion soporta, en principio, 25 conexiones RDP concurrentes y 50 de SSH.

En cuanto a los precios se pueden verificar aqui.

Pasamos a lo importante.

Crear host de Azure Bastion:

Ingresamos al portal de Azure y elegimos crear un recurso:


Buscamos Bastion, nos aseguramos que sea el de Microsoft:


Y elegimos crear:


Completamos los datos que nos pide como nuestra suscripción, el grupo de recursos (en mi caso use uno que ya tenia), el nombre de la instancia, la región en donde lo vamos a crear, luego la red virtual  y por ultimo el nombre de la ip publica:


En cuanto al grupo de recursos de Azure en el que se creará el Bastion, si no tienen uno, deben crear uno nuevo.

Con respecto a la red virtual pueden crear una nueva o utilizar una red virtual existente. Si van a utilizar una red virtual existente, tienen que asegurarse de que tenga suficiente espacio libre de direcciones para los  requisitos de subred de Bastion.
La subred estará dedicada al host de Bastion y debe nombrarse como AzureBastionSubnet. Esta subred debe ser al menos /27 o mayor.

AzureBastionSubnet no admite rutas definidas por el usuario, pero sí admite grupos de seguridad de red.

La dirección IP pública de Bastion es a la que se accederá a través de RDP o SSH (a través del puerto 443). La IP pública debe estar en la misma región que el recurso Bastion que están creando.

Cuando terminamos la configuración, hacemos click en Revisar + Crear y luego en Crear. Esto valida los valores. Una vez que pasa la validación, comienza la implementacion:



viernes, 19 de junio de 2020

Instalar Saltstack en Ubuntu

¿Que es SaltStack?

SaltStack es un software de código abierto basado en Python que sirve para automatizar la ejecución remota de tareas y configuraciones.
Es de la familia de Chef, Puppet y Ansible, sobre este ultimo hablamos en el blog.
A través de la "Infraestructura como código", SaltStack nos permite realizar la implementación y administración de sistemas, automatización de la configuración, orquestación, corrección de vulnerabilidades, etc.

La arquitectura de SaltStack:

Utiliza una arquitectura maestro-esclavo y sus componentes mas importantes son:

Master: Servidor que se comunica con los agentes instalados en los dispositivos finales llamados Minions.

Minions : Son los nodos en los cuales se instala un agente que le permite al Master administrarlos y ejecutar comandos de forma remota.

Grains: Es una interfaz que proporciona información del sistema, como el sistema operativo, la memoria, el nombre de dominio, el núcleo, la dirección IP, etc.

States: Los estados son archivos YAML (.SLS) para almacenar la configuración de los Minions.

El Master y los Minions se comunican a través de Keys. Una vez que se forma una red segura entre ellos, el cliente puede comunicarse sin problemas con el Master para recibir instrucciones.

Instalar SaltStack:

Agregamos la llave del repo:

wget -O - https://repo.saltstack.com/py3/ubuntu/20.04/amd64/latest/SALTSTACK-GPG-KEY.pub | sudo apt-key add -

Agregamos el repo en /etc/apt/sources.list.d/saltstack.list:

deb http://repo.saltstack.com/py3/ubuntu/20.04/amd64/latest focal main

Actualizamos el sistema:

sudo apt-get update

Instalación del Master:

sudo apt-get install salt-master

Verificamos la versión:

salt --versions-report


Ahora editamos el archivo del Master:

sudo nano /etc/salt/master

Y cambiamos las siguientes lineas:

interface: 192.168.2.116
gather_job_timeout: 120
timeout: 120

Verificamos el estado del Master:

systemctl status salt-master


Verificamos las llaves:

sudo salt-key -L


Vemos que no hay ninguna Aceptada, ni Denegada ni Rechazada.

Instalación del Minion:

Agregamos la llave del repo:

wget -O - https://repo.saltstack.com/py3/ubuntu/20.04/amd64/latest/SALTSTACK-GPG-KEY.pub | sudo apt-key add -

Agregamos el repo en /etc/apt/sources.list.d/saltstack.list:

deb http://repo.saltstack.com/py3/ubuntu/20.04/amd64/latest focal main

Actualizamos el sistema:

sudo apt-get update

Ahora instalamos el Minion:

sudo apt-get install salt-minion

Editamos el archivo del Minion:

sudo nano /etc/salt/minion

Y agregamos las siguientes lineas:

master: 192.168.2.116
id: primer-minion

Verificamos el estado del Minion:

systemctl status salt-minion


En la parte del archivo minion donde decía master podríamos haber dejado la palabra salt y editar el archivo /etc/hosts asignándole a salt la IP del servidor, pero para los fines de este ejemplo directamente usamos la IP y no el nombre DNS.

Reiniciamos el servicio para que el Minion intente conectarse al Master:

systemctl restart salt-minion

Chequeamos las llaves en el Master:

sudo salt-key -L

Y vemos que ya nos aparece el primer-minion (que es el ID con el que definimos nuestro Minion) pero en las keys no aceptadas:



jueves, 18 de junio de 2020

Instalar Openshift Origin en Ubuntu

¿Que es Openshift?

A grandes rasgos podría decirse que es el Kubernetes de Red Hat, aunque en realidad Kubernetes es parte de Openshift, y Red Hat lo que hace es introducirle mejoras y comercializarlo. Con lo cual quizás podríamos decir que es un "Kubernetes con esteroides", y pago (la versión comercial).

¿Que es Kubernetes? Lo explico acá.

Ahora, ¿que es Openshift Origin?
RedHat suele tener dos versiones de sus productos, la versión de la comunidad, que es gratuita y sin soporte, salvo el soporte que uno puede conseguir en la comunidad obviamente, y la versión de pago.
Openshift Origin es la versión gratuita de código abierto de Openshift.
También existe Minishift, que seria el equivalente a Minikube de Kubernetes (son versiones para ser instaladas en una única máquina para probar el producto de forma fácil).

Dicho esto, pasemos a lo importante.
Para instalar Openshift Origin primero tenemos que tener funcionando Docker en nuestra maquina.

Instalar Docker:

Importamos la clave GPG de Docker:

curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -

Agregamos el repo:

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian buster stable"

Actualizamos el sistema e instalamos:

sudo apt-get update

sudo apt-get install -y docker-ce docker-ce-cli

Agregamos nuestro usuario al grupo de Docker:

sudo usermod -aG docker ardillasenlared

Instalar Openshift Origin:

Descargamos el archivo con el software:

wget https://github.com/openshift/origin/releases/download/v3.11.0/openshift-origin-client-tools-v3.11.0-0cbc58b-linux-64bit.tar.gz

Lo descomprimimos:

tar xvzf openshift*.tar.gz

Ingresamos a la carpeta de Openshift recién creada:

cd openshift-origin-client-tools*/

Movemos los binarios oc y kubectl a /usr/local/bin:

sudo mv  oc kubectl  /usr/local/bin/

Verificamos la versión:

oc version

Habilitamos que pueda usar registries inseguros:

cat << EOF | sudo tee /etc/docker/daemon.json
{
    "insecure-registries" : [ "172.30.0.0/16" ]
}
EOF

Reiniciamos el servicio de Docker:

sudo service docker restart

Iniciamos el cluster en el servidor:

oc cluster up

Bajamos el cluster:

oc cluster down

Configuramos para que Openshift no redirija constantemente a 127.0.0.1.
Para ello, abrimos el archivo de configuración con el comando:

sudo nano ./openshift.local.clusterup/openshift-controller-manager/openshift-master.kubeconfig

Y cambiamos:

server: https://127.0.0.1:8443

Por:

server: https://SERVER_IP:8443

Guardamos y levantamos nuevamente el cluster pero esta vez especificando la IP:

oc cluster up --public-hostname=SERVER_IP



domingo, 14 de junio de 2020

Compartir carpeta con MX Linux

La otra vez mostraba en este post como conectarnos por RDP a Ubuntu y como compartir una carpeta con Samba, esta ultima parte por linea de comandos.
Luego, en este post, hable de MX Linux y como lo ponía fácil de cara al usuario.
Bueno, una de las cosas en las que lo pone fácil es en la de compartir carpetas, podes no saber absolutamente nada, y con solo 2 clicks vas a poder compartir una carpeta. En realidad son muchos mas clicks pero hay que vender ¬¬
Arranquemos.

Para compartir una carpeta con MX Linux, vamos a "Inicio", escribimos Samba y luego le hacemos click:


Nos va a pedir la contraseña de root, la ingresamos y nos va a aparecer la siguiente pantalla:


Vamos a crear el usuario de Samba con el cual vamos a acceder al recurso compartido.
Para ello vamos a Preferencias -> Usuarios Samba -> Añadir usuario.


En Nombre de usuario Unix desplegamos el menú y elegimos nuestro usuario de inicio de sesión, en mi caso ardillasenlared.
En Nombre de usuario Windows podemos poner cualquiera, si son de olvidarse pueden usar las mismas credenciales que usan para loguearse en la compu.
Aceptamos las 2 ventanas y luego procedemos a compartir la carpeta.

Para ello hacemos click en el boton "+" de la izquierda y luego en Examinar:


Ahí elegimos la carpeta que queremos compartir, en mi caso Música:


La seleccionamos y ponemos Aceptar.
Tildamos Visible y Permiso de Escritura, ambas son optativas obviamente, pero en mi caso quiero que la carpeta se encuentre visible en el recurso compartido y que me permita copiar archivos desde Windows:


Ahora vamos a la parte de permisos en la pestaña que dice Acceso:


Ahí podemos elegir que este accesible para todos (no recomendado) o solo para nuestro usuario. Tildamos nuestro usuario y aceptamos.

Ahora en nuestra maquina con Windows presionamos al mismo tiempo la tecla con el logo de Windows y la letra R y escribimos: \\ipdenuestraPCconMXLinux. En mi caso 192.168.2.119:


¿Como sabemos la IP de nuestra maquina con MX Linux?

Vamos a "Inicio", escribimos "Terminal", hacemos click en "Terminal de Xfce" y ejecutamos el comando:

ip addr


Ahí nos va a aparecer la IP, y esa es la que tenemos que ingresar para acceder al recurso compartido.
Bueno, aceptamos y nos van a aparecer todas las carpetas compartidas del servidor. Le hacemos doble click a la que queremos abrir, en mi caso Música, y nos va a pedir las credenciales de Samba, las ingresamos:

Y listo:


Si quisiéramos acceder a esa carpeta compartida desde otro Linux, por ejemplo Manjaro, y de manera simple, abrimos cualquier gestor de archivos y escribimos en la barra de direcciones:

smb://ardillaswindows@192.168.2.119/

Reemplazando ardillaswindows por el nombre de usuario que usamos en nuestro Samba, y la dirección IP por la de nuestro servidor:


Ingresamos la contraseña del usuario de Samba, hacemos doble click en Música y listo:


Ya podemos acceder desde Manjaro también.

Fácil, ¿no?

¿Y que esperas para compartir?

Saludos!

viernes, 12 de junio de 2020

Mover panel de MX Linux hacia abajo

Desde hace algún tiempo que veo diversos blogs de Linux hablar de esta distribución llamada Mx Linux.
La verdad es que como suele haber gran cantidad de "sabores" pensé que era una distro mas que con el tiempo se iría desdibujando.
Por otro lado, confieso, el nombre me resultaba raro, por un lado pensé que era alguna distro relacionada al correo (?), quizás porque asociaba el MX al registro MX del correo, pero a medida que su popularidad crecía pensé que definitivamente no debería tener nada que ver con correo, aunque por ahí tenia que ver con México (?). Que bien los mexicanos pensaba, viva México cabrones ¬¬, que lanzaron una distro tan popular, pero no... nada que ver...
La cuestión es que en Distrowatch su popularidad era demasiada como para seguir ignorándola o seguir quedándome solo con el nombre sin ver de que se trataba, así que me vi este video de Yoyo Fernandez, muy recomendado por cierto, e inmediatamente corrí a instalarla (no corrí mucho en realidad, estuve todo el tiempo sentado de hecho ¬¬).
Por ahora solo virtual, pero la verdad es que ya me dieron muchas ganas de reemplazar el Kubuntu que instalé hace poco, y que hace sudar a mi notebook como una condenada.
Es una distro absolutamente recomendable para la gente que recién empieza, me animo a decir que aun mas que Ubuntu, porque tiene toda la potencia y estabilidad de Debian (Stable) corriendo por abajo, y pone las cosas muy fáciles de cara al usuario, casi les diría que no hay que hacer absolutamente nada.
Es una distro super liviana, fluida, aun con hardware muy viejo como el mio, esto también es gracias a que usa el entorno de escritorio XFCE que tiene como objetivo ser rápido y ligero.
Lo único que no me gustó y que no pude superar es la barra o panel al costado, no se uds, pero para mi la barra va arriba o abajo, suelo usar la barra arriba en Linux y abajo en Windows, pero en este caso, como estoy alocado y con muchas ganas de innovar (¬¬) voy a poner la barra abajo en Linux.
En realidad la voy a poner abajo porque estoy apuntando este post a gente que por ahí viene de Windows que creo que es el publico al que apunta esta distro y que le va a resultar mas cómodo tener la barra abajo.
Bueno, basta de todo, vamos a los hechos.

Para cambiar la barra de MX Linux vamos a "Inicio" -> Configuración -> Panel



Destildamos Bloquear panel y cambiamos Modo a Horizontal y con el Mouse arrastramos la barra hacia abajo:


Bueno, ahí ya estaría abajo (volvemos a tildar Bloquear panel para que nos quede fijo), pero el tema es que el "Inicio" nos quedo a la derecha, en el otro extremo de donde estamos acostumbrados, entonces en Preferencias del panel vamos a la pestaña que dice Elementos:


Y ahí con las flechitas hacia arriba y hacia abajo vamos moviendo el botón de menu ("Inicio") llamado Menú Whisker. Si por ejemplo lo movemos arriba de todo nos va a quedar a la izquierda:


Y listo. Obviamente podes seguir personalizando la barra moviendo los elementos con las flechitas o agregando o quitando otros con los botones + y -.

Nada mas, espero que les haya servido.

Se que no lo compartirás porque no soy de raza.

Adiós!

martes, 9 de junio de 2020

Configurar doble click en Kubuntu con Plasma

No se uds, pero yo no me pude acostumbrar a "hacer doble click" con "un solo click". Así que lo desactivé en Kubuntu 20.04 de esta forma:

"Inicio" -> Preferencias del sistema


Espacio de trabajo -> Comportamiento del espacio de trabajo -> Comportamiento general:


Y en "Comportamiento del click" elegimos "Doble click para abrir archivos y carpetas":


Aplicamos y listo.

Sencillo pero emotivo.

COMPARTILO!

Nos vemos!

lunes, 8 de junio de 2020

Conectarse por RDP a Ubuntu desde Windows y crear carpeta compartida

Bueno, en mi caso Kubuntu, pero es lo mismo.
Para conectarnos por RDP a Ubuntu desde Windows, instalamos en Ubuntu un software llamado xrdp.

Instalar y habilitar xrdp:

sudo apt install xrdp
sudo systemctl enable xrdp



Desde la otra maquina, con Windows, probamos un telnet al puerto RDP (por defecto, 3389) a ver si responde:

telnet 192.168.2.106 3389

Si responde ya nos podemos conectar, y sino hay que habilitar el puerto en el Firewall así:

sudo ufw allow 3389/tcp

En mi caso por defecto estaba habilitado.
Ahora en Windows vamos a Inicio, Ejecutar y escribimos mstsc:


Luego ingresamos la IP de nuestro Ubuntu:


Nos va a aparecer una advertencia, ponemos que si:


Y finalmente nos aparece la pantalla para ingresar nuestras credenciales:


Asegúrense de no haber iniciado sesión antes (o si lo hicieron cierrenla), sino queda la pantalla negra y nunca abre el RDP. Parecería ser un bug, pero la verdad es que no tuve mucho tiempo de investigar el error (y lo que encontré no me funcionó), con lo cual si alguno sabe por favor comente y lo agrego a la entrada.
Pero bueno, con la sesión cerrada podemos ingresar correctamente:


Ahora vamos a compartir una carpeta de Linux hacia Windows