miércoles, 20 de diciembre de 2017

ocultar comentarios en vim

AGRUPA LOS COMENTARIOS EN UNA LINIA Y LOS MUESTRA RESUMIDOS
:set fdm=expr
:set fde=getline(v:lnum)=~'^\\s#'?1:getline(prevnonblank(v:lnum))=~'^\\s#'?1:getline(nextnonblank(v:lnum))=~'^\\s*#'?1:0
 
MAS LEGAL QUE LA SIGUIENTE PARA DESAPARECER COMENTARIOS
:hi! link Comment Ignore 
 
CAMBIA EL COLOR DE LOS COMENTARIOS, SI VIM ES NEGRO Y SE COLOCA NEGRO DESAPARECEN 
:hi! Comment guifg=bg ctermfg=white 



 
 

jueves, 23 de noviembre de 2017

Encontrar a que Unidad Organizacional pertenece un usuario

A veces hay cosas que deberian ser faciles pero son dificiles. Esta es una de ellas. A pesar de todo no es tan dificil:

en PowerShell ejecutar:

  Get-ADUser nombredelusuario

Entre la informacion importante que volcará esta el Distiguishname, donde esta la OU

viernes, 10 de noviembre de 2017

Mis notas sobre Python3.6

Opciones confundibles:

>>> pals = ['uno','pepe','tomate', 'gusanito']
>>> for p in pals:
    print(p)

   
uno
pepe
tomate
gusanito


>>> print(pals)
['uno', 'pepe', 'tomate', 'gusanito']


EXPLICACION:
pals es una lista. Listas se conocen por sus corchetes cuadrados [] .  En el primer ejemplo contamos cada elemento de pals, llamandolo "p" y lo imprmimimos. Asi el resultado fue cada elemento uno tras otro sin mas ni menos

print(pals)
Imprime la lista, tal como es, con corchetes, comillas, comas separadoras, y elementos.

si despues de esto hicieramos

>>>len(p)
8

mientras que
>>>len(pals)
4

y eso es porque
>>>print(p)
gusanito

mientras que:
 
>>> print(pals)
['uno', 'pepe', 'tomate', 'gusanito'] 


osea que 8 es el largo de la palabra gusanito y 4 la cantidad de elementos en la lista pals



viernes, 15 de septiembre de 2017

2.- Linux from Scratch bajo mi concepto

despues de borrar y borrar cosillas, me canse y crei capaz de empezar por otro lado: Linux desde cero. Mi plan es mas o menos asi:

1. Formatear un disco (con fdisk, diskpart, etc ?)
2. Ponerle MBR con install-mbr
3. Instalarle Grub con grub-install
4. Copiar un kernel

Mi objetivo es lograr todo esto desde la consola de comandos, pero para empezar voy a usar el instalador standard. Con este, mi proceso esta siendo asi:

1. Crear la tabla de particion. Para esto me ayudé con el video:
https://www.youtube.com/watch?v=AkkW63toTOM
aunque no separé / y /home, sino que hice solo /. /boot le asigne 250MB y swap 600MB. El disco virtual era de unos 6 GB
Al aceptar arranca ubuntu con una rutina de "installing the system"

Con un poco de búsqueda, me parecio que lo mejor para lograr mi objetivo es Gentoo Linux.

El Manual de Gentoo Linux recomienda dos caminos para la particion. Entre Fdisk y parted, escoji fdisk por parecer mas antiguo y tener mas adeptos asi como funciones. parted parece una implementacion que salva a los discos mayores de 2TB, cosa que hasta podría esperarse de fdisk en un futuro (quizas ya ahora, y estoy en el pasado)

Particion de Arranque BIOS:
fdisk
d (si se desea eliminar particiones existentes, mi DD virtual estaba nuevecito)
n (nueva)
p (primaria)
1 (particion no. 1)
 2048 (primer sector)
+2M (ultimo)
t 4
Particion de Arranque
default (al final de la anterior)
+128M
t 83 (linux)

Particion SWAP
default (al final de la anterior)
+1024M
t 84 (linux swap)Particion Root / 
default (al final de la anterior)
bis zum ende (default)
t 83 (linux)

Crear los sistemas de archivos:
mkfs.ext2 /dev/sda2
mkfs.ext4 /dev/sda4

el 2 con 2 y el 4 con 4 es solo coincidencia. Systema de Archivos EXT2 se utiliza para boot y ext4 es mejor para los archivos.

Inicializar y Activar la partition swap
mkswap /dev/sda3
swapon /dev/sda3

montar root
mount /dev/sda4 /mnt/gentoo

Copiar el Stage3 adentro
cd /mnt/gentoo
wget http://distfiles.gentoo.org/releases/amd64/autobuilds/20170824/stage3-amd64-nomultilib-20170824.tar.bz2 (puede variar segun version)

desempaquetar el bz2
tar xvjpf stage3-*.tar.bz2 --xattrs --numeric-owner


montar la particion gentoo
mount /dev/sda4 /mnt/gentoo

configuring compiler option
nada me molesta mas que un handbook o tutorial que parezca muy facil, explique banalmente y mande a leer otros manuales indecifrables. Exactamente esto es lo que este apartado de la guia de gentoo me parece.
Bueno, pero a lo hecho pecho y hay que seguir adelante.
IMPORTANTE: si reinicias la maquina, tendras que remontar la particion gentoo otra vez

Critica:
el trabajo de la gente de gentoo es maravilloso. Se puede aprender mucho a traves de este sistema. Pero la "independizacion" me parece perjudicial. Me explico: gentoo ofrece comodas herramientas para la configuracion como portage o emerge. Estas herramientas son lamentablemente solo bajo gentoo disponible. Aprender a configurar linux a traves de esto significa aprender gentoo y no linux estandar.

selecionar los mirrors:
otra vez a traves de una herramienta gentoo, aunque es bastante rudimentaria y a pesar de ello útil, ya que si no habria que escribir largamente direcciones de url´s en el archivo make.conf en una variable llamada GENTOO_MIRRORS

mirrorselect -i -o >> /mnt/gentoo/etc/portage/make.conf

mkdir /mnt/gentoo/etc/portage/repos.conf

cp /mnt/gentoo/usr/share/portage/config/repos.conf /mnt/gentoo/etc/portage/repos.conf/gentoo.conf

Copiar informacion DNS
cp -L /etc/resolv.conf /mnt/gentoo/etc/

Montar archivos de sistema necesarios
root #mount -t proc /proc /mnt/gentoo/proc
root #mount --rbind /sys /mnt/gentoo/sys
root #mount --make-rslave /mnt/gentoo/sys
root #mount --rbind /dev /mnt/gentoo/dev
root #mount --make-rslave /mnt/gentoo/dev

descartar algun problema de gentoo con el cd
root #test -L /dev/shm && rm /dev/shm && mkdir /dev/shm
root #mount -t tmpfs -o nosuid,nodev,noexec shm /dev/shm
root # chmod 1777 /dev/shm
entrar en el nuevo ambiente
root #chroot /mnt/gentoo /bin/bash
root #source /etc/profile
root #export PS1="(chroot) $PS1"

Montar la particion boot
el manual dice, "crear la carpeta boot", pero ya esta creada
root #mount /dev/sda2 /boot

otra opcion gentoo: 
Configurar Portage
 root #emerge-webrsync
 hasta aqui llege donde un error se repite:
rsync_ recv_generator mkdir "/usr/portage/xxxxx failed: no space left on device (28)
parece ser que la particion esta llena, y como el disco es de alrededor 8 GB casi no puede ser, entonces el problema parece estar en los inodos. Pero antes de entrar en la lata de buscar un error en un sistema de test del que no estoy ni tan convencido, prefiero continuar como si nada pasara...

eselect profile list
eselect profile set 2 (el standard, paso innecesario)

Critica:
No encuentro como instalar 2 perfiles. El estandar es nomultilib que no incluye las librerias x32 pero si ademas quiero systemd no veo la forma de elegir los dos

lunes, 17 de julio de 2017

mis notas sobre un DHCP server en linux (ubuntu 16)

modificar el archivo de interfaces para asignar al servidor una ip fija:
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto ens3
iface ens3 inet static
        address 192.168.0.240
        netmask 255.255.255.0
        gateway 192.168.0.1
        dns-nameservers 213.146.232.2 213.146.230.2


reiniciar la tarjeta de red
sudo service networking restart

modificar el nombre del host
sudo nano /etc/hostname 

e importante para que resuelva su propio nombre
sudo nano /etc/hosts 
agregar el nombre en la linea despues de localhost para 127.0.1.1


logs se encuentran en
cat /var/lib/dhcp/dhcpd.leases

y los de sistema que se pueden ver con
cat /var/log/syslog | grep -Ei 'dhcp'

escribir el archivo de configuracion
sudo nano /etc/dhcp/dhcpd.conf

contenido (minimo) del archivo de configuracion
# Lokal netz
option broadcast-address 192.168.0.255;
option subnet-mask 255.255.255.0;
option routers 192.168.0.1;
option domain-name-servers 213.146.232.2, 213.146.230.2;
# Dynamisch IPs
subnet 192.168.0.0 netmask 255.255.255.0 {
        range 192.168.0.50 192.168.0.70;
        default-lease-time 86400;
        max-lease-time 86400;
        }


reiniciar dhcp
sudo /etc/init.d/isc-dhcp-server start


viernes, 14 de julio de 2017

pequeno razonamiento sobre como utilizar los recursos de thunderbird para el trabajo efectivo

Cuales recursos?

Thunderbird no solo recibe emails. Aparte de otros clientes de email muy aceptados como Outlook o iMail, Thunderbird tiene una infinidad de recursos limitados solamente por nuestros propios conocimientos, ya que por ser OpenSource, podemos hasta "reescribir" el código para adaptarlo a nuestras necesidades.

Esto de reescribir el código es por supuesto una exageracion una porque pocos estamos en la capacidad de hacerlo y dos porque no es necesario porque los recursos que ya tiene son muy grandes y poderosos.

- Carpetas de Busqueda
- Carpetas (IMAP)
- Marcas con estrella (kennzeichnung)
- Palabras clave (schlagworte)
- Filtros rápidos
- Filtros
- Convertir en
-- Cita
-- Nota
- Columnas y Configuracion de Columnas para Carpetas

Ejemplo:

Casi una vez al mes pero irregularmente me llega un email invitandome a una conferencia a la que quiero participar.
Tengo varias reglas para que todos los email del departamento invitador se metan en una carpeta de notificaciones, pero quisiera que exactamente esas invitaciones no se me pasen desapercibidas.
En mi compañia los departamentos escriben nombrandose con corchetes en el asunto. El asunto es un poco variable, aunque he observado que una palabra siempre esta alli. Por esto, genero un filtro que busque dentro de la carpeta DEPTO-CONT la cadena "invitacion" y marque esta con mi palabra clave "citas" y agrege una estrella.

Como en la carpeta hay tambien invitaciones anteriores, entonces pierdo nuevamente un poco el objetivo, con lo que complemento el filtro con "antiguedad en días" y asi le pido que solo marque asi los emails que tienen menos de 60 dias.

Una posibilidad es tambien copiar o mover los emails que cumplen la regla a otra carpeta, llamada por ejemplo "Citas-Actuales". Copiar tiene una desventaja: cada vez que aplicas el filtro a la carpeta copia nuevamente lo mismo. Mover tiene la desventaja de que cuando busques los emails del departamento, los de estas citas no van a estar en esta carpeta. Para que esta repeticion no suceda, puedes agregar el filtro "estatus""no es""marcado", pues como la marca la agrega el filtro al copiar, no volvera a aplicarse el filtro en los emails ya copiados porque al mismo tiempo fueron marcados.

Esta desventaja de mover tambien se puede solventar con una carpeta de busqueda, pues es virtual y puede contener emails que estan en diferentes carpetas.


Ademas de estos recursos estandar de Thunderbird, puedo recomendar los Addons
ColorFolder
RegExSuche
ThemeFontSizeChanger
CalendarTweks

martes, 13 de junio de 2017

Como usar una carpeta compartida en la red para guardar Backups de Time Machine de Apple Mac

Para la mayoría, Apple Mac resulta un icono de la facilidad y amabilidad con el usuario. Claro que el usuario solo abre la maquinilla y lo ve todo bonito, pero cuando se trata de administrar Mac en un ambiente empresarial es otra la historia.

Los usuarios Windows, cuentan con Shadows Copy. Si los usuarios Mac guardan en una Carpeta de servidor windows esta funcion estar corriendo "por debajo de la mesa". Si un archivo se pierde o borra, se podrá recuperar del servidor windows, pero solamente con un Cliente windows en el que se haga clic con el boton derecho y luego en Versiones.

Este clic no estará presente en Mac, aunque las versiones estén ahí.

Claro que hay mucho que se puede hacer: Maquinas Virtuales, Servidores de Remote Desktops Services, Exploradores de Archivos especializados, etc. Lamentablemente todo resulta "pañitos calientes" o en IT-Jerga "Worksarounds".

Por otro lado, utilizar una Carpeta de Servidor Windows con SMB no siempre resulta tan facil con mac. Mac no tiene GPOs con las que podamos mandar los perfiles completos al servidor y una sincronizacion no es de mi agrado (pocas veces sabe el usuario que esta sincronizado y que no).

Pero Mac tiene su propia solución, y además que se ve bonita (esto es siempre importante para Mac y sus usuarios) se llama Time Machine o Maquina del Tiempo. En TM puedes ver como en el tiempo tus documentos y toda tu máquina ha pasado por el tiempo y puedes restablecer con una increible facilidad las versiones pasadas.

Claro, tienes que enchufar un disquito externo a tu mac... o también correrá bien (o mejor) si te compras una no tan económica Cápsula del Tiempo, con la que podrás guardar tus Backups por el aire.

Pero si la empresa tiene un grande y poderoso servidor SMB, porque necesitamos unos aparatitos de jugete como las capsulas del tiempo?. Eso se puede preguntar cualquier IT administrador que tenga mas de dos dedos de frente y algunos usuarios con fundamento.

Pues porque no es tan fácil. Lo ideal sería que mac nos permitiera en Time Machine, encontrar las Shares que estan disponibles en la red y que podamos decirle "aqui por favor". Pero esto no es posible. Si bien existe un "hack" bastante elegante y eficiente que nos lo permitirá:

Crea una Imagen de Disco con la aplicación estandard de administracion de Discos. Debe ser HFS-J (journaled) y de crecimiento automatico "parseled bunded" ni mas esta decir que del tamaño adecuado para tus documentos.

Pon esta imagen en tu carpeta de red (Share) y luego montala en el sistema de archivos (simple doble clic)

Ahora manda a Time Machine a usar esta unidad montada con

sudo tmutil setdestination /Volumes/TimeMachine

Despues tendrás el problema de montar esta Carpeta de Servidor o Share automaticamente en mac, pues aunque esto parezca evidente, y de echo en un clic en Windows, resulta un dolor de cabeza en mac. Sobre todo, si tus usuarios no son Administradores de su Cliente.

Pero esto es tema de otro Blog donde me ocupo de esto.
 


miércoles, 10 de mayo de 2017

Thunderbird deja todos los documentos anexos en en escritorio de Mac

escribo "de Mac" porque realmente no habi visto esto antes en Windows, quizas tambien pasa, quizas le pasa a alguien. Pero esta molesto hábito se puede configurar relativamente fácil y los encontramos en en link:

http://cote.cc/blog/stop-thunderbird-from-littering-your-desktop-with-attachments

Por si el link se pierde, o la pagina, o simplemente necesitas un manual es espanol, lo explico a continuacion:

- Ve a configuracion: Extras --> Configuracion --> Avanzada --> Trabajar la Configuracion (about:config)

- Ahi buscas la clave : "browser.helperApps.deleteTempFileOnExit" sin comillas, que debe estar presente y configurada como "False".

- Dale doble clic y deberia cambiar a "True", sino haslo manualmente.

y ya esta, con esto Thunderbird borrara todos los archivos temporales dejados al terminar la sesion.



jueves, 4 de mayo de 2017

Identacion para archivos XML sin identacion en TextWrangler

TextWrangler es excelente. Si algo le puede criticar es que es un poquito lento, pero para lo brinda en comparacion con los rapidos, se puede soportar.

Un problemita que me ocupó mientras trataba de editar archivos de configuracion sin saltos de linea en xml, es justamente que no tienen saltos de linea, es decir que toda la configuración era una sola linea. A pesar de que esto pueda parecer lógico, tambien debe resultar logico que se pueda crear una identacion, ya que cada linia posee un nuevo tag con la forma <> y esto lo puede encontrar un programa.

Entonces por esto me di a la busqueda de una solucion para ello y encontre esta bella solucion:
https://magp.ie/2010/02/15/format-xml-with-textwrangler/

No por copiar, sino porque me desagrada que a veces cuando guardo unos vinculos con buena informacion desaparecen de internet, pongo aqui tambien el contenido de la solución, sin dejar de agredecer a su autor original Eoin Gallagher

-----------------------------------------------------------------------------------------------------------------------
Simple guide
We want to add a UNIX script to TextWrangler so it can format an XML file… to do this, do this…
    • Open TextWrangler and open a new text file.
    • Copy and paste the code below into this file.
1
2
#!/bin/sh
XMLLINT_INDENT=$'\t' xmllint --format --encode utf-8 -
    • Save the file, something like Tidy XML.sh, in the ~/Library/Application Support/TextWrangler/Text Filters/ folder.
    • Now anytime you want to format an XML file, just go to the Text menu and select the Tidy XML.sh script and BOOM, neat tidy XML.
text-filter
This is an interesting facility to extend an already great text editor, and I will be looking into more cool scripts that can hopefully lessen my daily annoyances.
UPDATED:: Added UTF8 encoding, thanks Rolan.
UPDATED:: Added a post to format PHP code in TextWrangler.
UPDATED:: Updated for TextWrangler version 4.5.8.

---------------------------------------------------------------------------------------------------------------------

miércoles, 12 de abril de 2017

Templates o Plantillas en Libre Office para Mac

Para crear Templates que se puedan usar en el futuro en LibreOffice, es necesario crear el template (mejor vacío) y luego guardarlo como template.

En las ayudas estandar de libre office aparece un camino facil de equivocar, puesto que (por lo visto en mac el camino es un poco distinto, hay discrepancias y redundancias)

Primero:
Crear un Documento con las características que deseamos. Luego guardarlo como plantilla con
File --> Templates --> Save as Template ---> MyTemplates --> Set as Default

Esto abrira un cuadro de Dialogo que permitira guardar la plantilla como estandar para los proximos documentos.

Si haz usado un documento existente, con contenido, siempre se abrira el contenido. Cosa que me parece tonta puesto que lo interesante es el formato.
De alguna manera se puede disculpar, puesto que es quizas pensado para que siempre aparezca el mismo titulo, asi como los pie de paginas y otras caracteristicas que son intermedias entre contenido y formato.

Si haz guardado la opcion "set as Default" cada nuevo documento contendrá automaticamente el contenido de esta plantilla incluyendo, contenido y formatos.

CUIDADO:
Si piensas que el Documento abierto lo puedes "save as" y luego escojer "template", hasta allí funcionará, pero luego no estará esta plantilla en "My Templates" ni mucho menos como estandar.

CUIDADO:
Cuida de guardar un Documento vacio con el contenido que deseas como estandar y no un texto en especial, pues aparecerá despues en cada nuevo documento

martes, 31 de enero de 2017

Trabajar con el Disco duro en Unix

Empezar con Linux puede ser duro, pero si una cosa esta complicada es el trabajo con discos. No me refiero por supuesto a la comoda interfaz grafica, donde hacemos clic y vemos propiedades, sino a trabajar al ciento por ciento con la consola, ya sea por gusto a las complicaciones o porque mantenemos algun(os) servidor(es) sin mejores posibilidades.

Bueno, para mi personalmente el tiempo del ahorro de recursos ya ha pasado. Mi primera computadora fue un 8088 con menos de un Mhz de Taktung mientras que las actuales tienen varios Procesadores con más de 3 GHz. Los servidores siempre estaban mejorcitos. Los programas tambien han mejorado su rendimiento, no todos crecen nada mas. Pero bueno, eso es al final cuestion de gustos y harina de otro costal.

Ver las Particiones de manera bastante explicativa:

df -h

hacer imagenes de disco

dd if=/dev/disco of=/home/desktop/tu_imagen.img --> puede ser que necesitas sudo!

este articulo me gusto:
https://wiki.archlinux.de/title/Image-Erstellung_mit_dd





domingo, 8 de enero de 2017

Controlando el disco duro en linux, detener, dormir, reactivar

Estoy trabajando en desacerme de mis viejos moustrosos servidores y sustituirlos por mis viejas moustrosas portatiles. He empezado con crear un servidor KVM en una Lenovo Sl500. Por ahora todo va bien, pero a pesar de que el monitor esta en mínimo, y el portátil tiene control avanzado de Energía, el disco duro esta siempre trabajando y caliente.

Parece ser que por defecto el standby para discos en Linux viene desactivado, que se puede controlar con hdparm y que este control es solo por sesion y hay que hacerlo manual cada vez que se reinicia. En el siguiente blog encontre una solución que tengo que probar y con la que no estoy del todo satisfecho

http://www.tacticalcode.de/2013/01/festplatte-automatisch-in-standby-mit-hdparm-und-udev.html

Pero sigo buscando...

update 10:43
http://blog.is-a-geek.org/festplatten-in-den-standby-modus-versetzen-unter-ubuntu-desktopserver-mit-hd-idle

update 20.01.17
hoy he tenido un poco de tiempo para realizar pruebas. Primero, intenté configurar los discos a través de la herramienta webmin, que es mi favorita para facilitar el mantenimiento linux.
En webmin encontramos un apartado para esto y es;
hardware --> partition and local disks --> idle parameters --> Standby timeout
esto funciona en el momento, pero la configuracion no se guarda, todavia no he mirado porque,

Otra alternativa, hdparm es bastante aceptable, pero hay que configurarla a traves de scripts para que se funcion de manera automatica. Basicamente:

hdparm -C /dev/sda       --> te dice el estado actual del sda

hdparm -y /dev/sda       --> lo pone en descanso

hdparm -S 10 /dev/sda      --> lo pone en descanso en un tiempo estimado



viernes, 6 de enero de 2017

conectarse con un server por ssh usando una llave ida/rsa

ACTUALIZACION 21:11:2018
Si hemos perdido la clave publica, pero conservamos la privada. Podemos "recrearla" con el comando:

ssh-keygen -y -f ~/.ssh/id_rsa > ~/.ssh/id_rsa.pub 

ACTUALIZACION 14:11:2018

Cuando creamos el par de claves, ssh-keygen nos va a mostrar una salida artistica de la llave que se llama randomart. 

Este dibujito, no lo volveremos a ver nunca mas si no lo deseamos específicamente. Una opción sería, habilitar la visualizacion de la llave cuando nos conectamos por ssh con un servidor con la opcion adicional, de forma que el comando total nos queda asi:

ssh root@ssh-server -o VisualHostKey=yes

Con lo que nos mostrará el randomart de la clave que estamos usando para conectarnos.

Pero... y si quisiera usar el randomart para comparar claves, perdidas, danadas o simplemente confundidas?

Bueno, el servidor podría convertir las llaves públicas existentes en el archivo know_host así:

ssh-keygen -lvf  ~/.ssh/known_hosts---> ESTO ME GUSTA !!!

y podríamos comparar esta salida con el resultado en nuestro cliente con:

ssh-keygen -lv   ---> Y ESTO TAMBIEN :-)



ACTUALIZACION 16.05.2018

Tuve que configurarme un laptop nuevo para acceder a estos servidores desde la casa, pero cuando quise enviar su clave con ssh-copy-id y me pidió la contrasena de administrador que no tenia...

Tanto uso el sistema de llaves para ssh, que en un(os) servidores se me olvidó la contrasena. 

Claro, siempre podía logearme en el otro computador, por lo que desde este, importé la clave asi:
  1. pasar la clave publica .pub al computador que sí permite logearse (sin contrasena, pues tiene clave ssh)
  2. Ejecutar en consola, dentro del directorio donde esta la clave:  
    cat id_rsa.pub | ssh root@servidor-obj 'cat >> .ssh/authorized_keys && echo "Key copied"'
  3. este comando manda la salida de cat, al archivo .ssh/authorized_keys de el servidor-obj deseado.
tambien puede interesarte:
https://victorhckinthefreeworld.com/2016/01/28/transferir-llaves-ssh-de-un-pc-a-otro-en-gnulinux/



********************************* 

valido para mac y linux:

ssh-keygen -t rsa -b 4096

-- algunos anaden -f ~/.ssh/id_rsa , si no lo haces, igual el programa preguntará el nombre y el camino del archivo. Si tampoco escribes algo especial, entonces tomará el valor por defecto arriba escrito.

-- también preguntará por una "paraphrase" que es una contraseña adicional para la clave. Personalmente pienso que es muy importante, puesto que si alguien se apropiara de la clave tendría fácil acceso a todos los ámbitos donde la clave funciona. Con una paraphrase tendría también que tener esta para cualquier conexión.

Este comando generara dos claves: id_rsa und id_rsa.pub en el directorio .ssh raiz del usuario.

La .pub es la clave pública, que se copiará en los servidores dentro del archivo "know_host" y la otra es la privada, que debe permanecer secreta en este directorio donde fué generada.

Hasta aqui con la parte cliente. Ahora debemos poner la clave pública entre las claves ssh aceptadas por el servidor. Para esto usaremos ssh-copy-id

ssh-copy-id root@server
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/Users/user/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
user@server's password:

Number of key(s) added:        1

Now try logging into the machine, with:   "ssh 'user@server'"
and check to make sure that only the key(s) you wanted were added.

 -- OJO SOBRE EL USUARIO -- si queremos dar acceso a otro userx al servidor ssh hay que ejecutar:

ssh-copy-id userx@server     desde el computador del userx y en su cuenta. Teniendo el userx ya una cuenta en el servidor.

--- NOTA IMPORTANTE ---
Si por alguna razon ssh-copy-id no funcionara, se vale tambien copiar (por ftp/filezilla, scp, ssh-->vim, etc.) la clave .pub del cliente /root/.ssh/id_rsa.pub en el servidor en el archivo "host_allow" /root/.ssh/authorized_keys

jueves, 5 de enero de 2017

Reseteando la contrasena de MariaDB en Linux Devuan (una variante Debian)

Update 09.01.17
He encontrado el origen del problema:
al detener el servicio mysql con service mysql stop, he iniciar en modo seguro con deb-maint. Puedo ver las tablas de los usuarios. Alli aparece lo siguiente;
+-----------+---------------------+---------------------+
| host         | user                      | password            |
+-----------+---------------------+---------------------+
| localhost | root                      | * Blablabla-foobar
| server      | root                      | * *Blablabla-foobar |
| 127.0.0.1 | root                      | * *Blablabla-foobar |
| ::1            | root                      | * *Blablabla-foobar |
| localhost  | debian-sys-maint | * *Blablabla-foobar |
| %             | user01                  |                     |
| %             | root                      | * *Blablabla-foobar |
+-----------+----------------------+---------------------+
el problema esta en el "hostname", para que funcione debes poner el "localhost" asi:
mysql -u root -h localhost -p
Pero mucho cuidado, pues esto no va a funcionar en la misma sesion, incluso tampoco con el mismo servicio, pues el modo seguro tambien se puede ejecutar "sin red" con lo que localhost tampoco funciona!



05.01.17 04:57

Si bien la contrasena de SQL no debería significar un problema grave, ya que es mas que seguro que tenemos la contrasena de root, por experiencia no resulta tan facil. Una cantidad de problemas se derivan de las versiones de SQL como de los systemas operativos que los albergan.

No estoy tratando aqui de competir contra las instrucciones de Oracle o MDB. Sino que documento aqui como resolví mis propios problemas, para tenerlo a mano en caso de volver a necesitarlo y ademas que si a alguien le sirven, me alegra.

service mysql stop
mysqld_safe --skip-grant-tables --skip-networking &

mysql
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 4
Server version: 10.0.28-MariaDB-0+deb8u1 (Debian)
Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.


MariaDB [(none)]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('new_password');
ERROR 1131 (42000): You are using MariaDB as an anonymous user and anonymous users are not

 Ujum... entonces pruebo toda la session desde el comienzo con root:

 service mysql stop
 mysqld_safe --skip-grant-tables --skip-networking &
 mysql -u root 
FLUSH PRIVILEGES;
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('new_password');
ERROR 1131 (42000): You are using MariaDB as an anonymous user and anonymous users are not allowed to change passwords


???  

Parece que tengo un terrible problema...
Bueno, la verdadera razon de ese problema parece residir en la configuracion original de mysql
bastante interesante es que el comando...

mysql_secure_installation

tambien me devuelve ese error:

Enter current password for root (enter for none):
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)


lentamente estoy pensando en reinstalar todo, pero antes un par de tips interesantes que también encontré:
 
1.- hay un usuario debian-sys-maint que tiene privilegios elevados y puede ejecutar y configurar bases de datos, su contrasena es un texto aleatorio guardado en el archivo

/etc/mysql/debian.cnf

con él te puedes logear y resetear contrasenas

2.- Con el usuario debian-sys-maint (quizas también con otro) puedes visualizar los usuarios configurados de mysql.

select host, user, password from mysql.user; 

en esta tabla puedes ver "encriptadas" las contrasenas, esto puede ser util a pesar de todo para estar seguro de los nombres de usuario, saber si un usuario con contrasena desconocida/olvidada tiene la misma de uno que conozcamos, o para constatar si nuestro cambio o reseteo de contrasenas esta funcionando.

3.- El comando: update mysql.user set password=password('tu-contrasena') where user='root';
sirve para resetear contrasenas.