parent
29fa3438c1
commit
d8edcc01c5
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,166 @@
|
||||
# Seguridad
|
||||
|
||||
## Autenticación en servidores por clave pública
|
||||
|
||||
Generar contraseñas para conexión servidores remotos:
|
||||
|
||||
~~~~
|
||||
cd ~
|
||||
ssh-keygen -b 4096 [-t dsa | ecdsa | ed25519 | rsa | rsa1]
|
||||
cat .ssh/
|
||||
~~~~
|
||||
|
||||
Solo resta añadir nuestra clave pública en el fichero
|
||||
`authorized_keys` del servidor remoto.
|
||||
|
||||
~~~~
|
||||
cat ~/.ssh/id_xxx.pub | ssh user@hostname 'cat >> .ssh/authorized_keys'
|
||||
~~~~
|
||||
|
||||
[¿Cómo funciona esto?](https://www.digitalocean.com/community/tutorials/understanding-the-ssh-encryption-and-connection-process)
|
||||
|
||||
## Claves gpg
|
||||
|
||||
`gpg --gen-key` Para generar nuestra clave.
|
||||
|
||||
* __Siempre__ hay que ponerle una fecha de expiración, la puedes cambiar más tarde.
|
||||
* __Siempre__ hay que escoger la máxima longitud posible
|
||||
|
||||
## Seahorse
|
||||
|
||||
Para manejar todas nuestras claves con comodidad:
|
||||
|
||||
`sudo apt install seahorse`
|
||||
|
||||
## Conexión a github con claves ssh
|
||||
|
||||
Usando este método podemos conectarnos a github sin tener que teclear
|
||||
la contraseña en cada conexión.
|
||||
|
||||
### Claves ssh
|
||||
|
||||
Podemos echar un ojo a nuestras claves desde `seahorse` la aplicación
|
||||
de gestión de claves que hemos instalado. También podemos ver las
|
||||
claves que tenemos generadas:
|
||||
|
||||
~~~
|
||||
ls -al ~/.ssh
|
||||
~~~
|
||||
|
||||
En las claves listadas nuestras claves públicas aparecerán con
|
||||
extensión `.pub`
|
||||
|
||||
También podemos comprobar que claves hemos añadido ya a nuestro agente
|
||||
ssh con:
|
||||
|
||||
~~~
|
||||
ssh-add -l
|
||||
~~~
|
||||
|
||||
Para generar una nueva pareja de claves ssh:
|
||||
|
||||
~~~
|
||||
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
|
||||
~~~
|
||||
|
||||
Podremos dar un nombre distintivo a los ficheros de claves generados y
|
||||
poner una contraseña adecuada a la clave. Si algún dia queremos
|
||||
cambiar la contraseña:
|
||||
|
||||
~~~
|
||||
ssh-keygen -p
|
||||
~~~
|
||||
|
||||
Ahora tenemos que añadir nuestra clave ssh en nuestra cuenta de
|
||||
github, para ello editamos con nuestro editor de texto favorito el
|
||||
fichero `~/.ssh/id_rsa.pub` y copiamos el contenido integro. Después
|
||||
pegamos ese contenido en el cuadro de texto de la web de github.
|
||||
|
||||
Para comprobar que las claves instaladas en github funcionan
|
||||
correctamente:
|
||||
|
||||
~~~~
|
||||
ssh -T git@github.com
|
||||
Hi salvari! You've successfully authenticated, but GitHub does not provide shell access.
|
||||
~~~~
|
||||
|
||||
Este mensaje indica que todo ha ido bien.
|
||||
|
||||
Ahora en los repos donde queramos usar ssh debemos cambiar el remote:
|
||||
|
||||
~~~~
|
||||
git remote set-url origin git@github.com:$USER/$REPONAME.git
|
||||
~~~~
|
||||
|
||||
## Signal
|
||||
|
||||
El procedimiento recomendado en la página oficial:
|
||||
|
||||
~~~~
|
||||
curl -s https://updates.signal.org/desktop/apt/keys.asc | sudo apt-key add -
|
||||
echo "deb [arch=amd64] https://updates.signal.org/desktop/apt xenial main" | sudo tee -a /etc/apt/sources.list.d/signal-xenial.list
|
||||
sudo apt update && sudo apt install signal-desktop
|
||||
~~~~
|
||||
|
||||
------------
|
||||
|
||||
__NOTA__: Parece que no funciona. Lo he instalado via _flatpack_
|
||||
|
||||
------------
|
||||
|
||||
## Lector DNI electrónico
|
||||
|
||||
Instalamos:
|
||||
|
||||
~~~~
|
||||
sudo apt-get install pcscd pcsc-tools libccid
|
||||
~~~~
|
||||
|
||||
Como root ejecutamos pcsc_scan:
|
||||
|
||||
~~~~
|
||||
root@rasalhague:~# pcsc_scan
|
||||
PC/SC device scanner
|
||||
V 1.4.23 (c) 2001-2011, Ludovic Rousseau <ludovic.rousseau@free.fr>
|
||||
Compiled with PC/SC lite version: 1.8.11
|
||||
Using reader plug'n play mechanism
|
||||
Scanning present readers...
|
||||
Waiting for the first reader...
|
||||
~~~~
|
||||
|
||||
Si insertamos el lector veremos algo como esto:
|
||||
|
||||
~~~~
|
||||
root@rasalhague:~# pcsc_scan
|
||||
PC/SC device scanner
|
||||
V 1.4.23 (c) 2001-2011, Ludovic Rousseau <ludovic.rousseau@free.fr>
|
||||
Compiled with PC/SC lite version: 1.8.11
|
||||
Using reader plug'n play mechanism
|
||||
Scanning present readers...
|
||||
Waiting for the first reader...found one
|
||||
Scanning present readers...
|
||||
0: C3PO LTC31 v2 (11061005) 00 00
|
||||
|
||||
Wed Jan 25 01:17:20 2017
|
||||
Reader 0: C3PO LTC31 v2 (11061005) 00 00
|
||||
Card state: Card removed,
|
||||
~~~~
|
||||
|
||||
Si insertamos un DNI veremos que se lee la información de la tarjeta insertada:
|
||||
|
||||
~~~~
|
||||
Reader 0: C3PO LTC31 v2 (11061005) 00 00
|
||||
Card state: Card inserted,
|
||||
~~~~
|
||||
|
||||
y mas rollo
|
||||
|
||||
Instalamos ahora el modulo criptográfico desde [este
|
||||
enlace](https://www.dnielectronico.es/PortalDNIe/PRF1_Cons02.action?pag=REF_1112)
|
||||
|
||||
|
||||
Y además:
|
||||
|
||||
~~~~
|
||||
aptitude install pinentry-gtk2 opensc
|
||||
~~~~
|
@ -0,0 +1,173 @@
|
||||
# Virtualizaciones y contenedores
|
||||
|
||||
## Instalación de _virtualBox_
|
||||
|
||||
Lo hacemos con los origenes de software oficiales (alternativamente, podríamos hacerlo manualmente):
|
||||
|
||||
~~~~
|
||||
# Importamos la clave gpg
|
||||
wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add -
|
||||
|
||||
# Añadimos el nuevo origen de software
|
||||
sudo add-apt-repository "deb [arch=amd64] https://download.virtualbox.org/virtualbox/debian $(. /etc/os-release; echo "$UBUNTU_CODENAME") contrib"
|
||||
|
||||
# Actualizamos la base de datos de paquetes
|
||||
sudo apt update
|
||||
~~~~
|
||||
|
||||
Ahora podemos comprobar que además del paquete _virtualbox_ tenemos
|
||||
varios paquetes con número de versión (p.ej. _virtualbox.6.1), estos
|
||||
últimos son los que hemos añadido (compruebalo con `apt-cache policy
|
||||
[nombrepaquete]`)
|
||||
|
||||
Instalamos el que nos interesa:
|
||||
|
||||
~~~~{bash}
|
||||
sudo apt install virtualbox-6.1
|
||||
~~~~
|
||||
|
||||
**ATENCIÓN**
|
||||
|
||||
~~~~
|
||||
The following additional packages will be installed:
|
||||
python-is-python2
|
||||
~~~~
|
||||
|
||||
Descargamos también el [VirtualBox Extension
|
||||
Pack](https://www.virtualbox.org/wiki/Downloads), este paquete lo
|
||||
podemos instalar desde el propio interfaz de usuario del _VirtualBox_,
|
||||
o bien con el siguiente comando:
|
||||
|
||||
~~~~
|
||||
sudo VBoxManage extpack install ./Oracle_VM_VirtualBox_Extension_Pack-6.1.2.vbox-extpack
|
||||
~~~~
|
||||
|
||||
|
||||
Sólo nos queda añadir nuestro usuario al grupo `vboxusers`, con el
|
||||
comando `sudo gpasswd -a username vboxusers`, y tendremos que cerrar
|
||||
la sesión para refrescar nuestros grupos.
|
||||
|
||||
|
||||
## qemu
|
||||
|
||||
Un par de comprobaciones previas:
|
||||
|
||||
* El comando `egrep -c '(vmx|svm)' /proc/cpuinfo` debe devolvernos un
|
||||
número mayor que cero si nuestro sistema soporta virtualización.
|
||||
* El comando `kvm-ok` nos sirve para comprobar que la virtualización
|
||||
hardware no está deshabilitada en la BIOS (puede que tengas que
|
||||
ejecutar `apt install cpu-checker`)
|
||||
|
||||
Instalamos desde el repo oficial:
|
||||
|
||||
~~~~
|
||||
sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virtinst virt-manager
|
||||
sudo apt install virt-viewer
|
||||
~~~~
|
||||
|
||||
qemu-kvm
|
||||
|
||||
: nos da la emulación hardware para el hipervisor KVM
|
||||
|
||||
libvirt-daemon-system
|
||||
|
||||
: los ficheros de configuración para ejecutar el demonio `libvirt`
|
||||
como servicio
|
||||
|
||||
libvirt-clients
|
||||
|
||||
: software para gestionar plataformas de virtualización
|
||||
|
||||
bridge-utils
|
||||
|
||||
: utilidades de linea de comandos para configurar bridges ethernet
|
||||
|
||||
virtinst
|
||||
|
||||
: utilidades de linea de comandos para crear máquinas virtuales
|
||||
|
||||
virt-manager
|
||||
|
||||
: un interfaz gráfico junto con utilidades de linea de comandos
|
||||
para gestionar máquinas virtuales a través de _libvirt_
|
||||
|
||||
Solo queda añadir nuestro usuario a los grupos:
|
||||
|
||||
~~~~
|
||||
sudo gpasswd -a username libvirt
|
||||
sudo gpasswd -a username kvm
|
||||
~~~~
|
||||
|
||||
Podemos comprobar el estado del servicio con `scs libvirtd`
|
||||
(`systemctl status libvirtd`).
|
||||
|
||||
### Referencias
|
||||
|
||||
* [How to install KVM on Ubuntu 20.04 Graphical & headless
|
||||
server](https://www.how2shout.com/how-to/how-to-install-kvm-on-ubuntu-20-04-graphical-headless-server.html)
|
||||
* [How to Install Kvm on Ubuntu 20.04](https://linuxize.com/post/how-to-install-kvm-on-ubuntu-20-04/)
|
||||
* [How to Install KVM on Ubuntu 20.04](https://www.tecmint.com/install-kvm-on-ubuntu/)
|
||||
|
||||
|
||||
## Docker
|
||||
|
||||
Tenemos que añadir el repositorio correspondiente a nuestra
|
||||
distribución:
|
||||
|
||||
~~~~
|
||||
# Be safe
|
||||
sudo apt remove docker docker-engine docker.io
|
||||
sudo apt autoremove
|
||||
sudo apt update
|
||||
|
||||
# Install pre-requisites
|
||||
sudo apt install ca-certificates curl
|
||||
|
||||
# Import the GPG key
|
||||
|
||||
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
|
||||
|
||||
# Next, point the package manager to the official Docker repository
|
||||
|
||||
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(. /etc/os-release; echo "$UBUNTU_CODENAME") stable"
|
||||
|
||||
# Update the package database
|
||||
|
||||
sudo apt update
|
||||
#
|
||||
|
||||
apt-cache policy docker-ce
|
||||
|
||||
sudo apt install docker-ce
|
||||
|
||||
sudo gpasswd -a username docker
|
||||
~~~~
|
||||
|
||||
Esto dejará el servicio _docker_ funcionando y habilitado (arrancará
|
||||
en cada reinicio del ordenador)
|
||||
|
||||
La forma de pararlo es:
|
||||
|
||||
~~~~{bash}
|
||||
sudo systemctl stop docker
|
||||
sudo systemctl disable docker
|
||||
systemctl status docker
|
||||
~~~~
|
||||
|
||||
Añadimos el _bundle_ __docker__ en nuestro fichero `~/.zshrc` para
|
||||
tener autocompletado en comandos de docker.
|
||||
|
||||
Para usar _docker_ tendremos que arrancarlo, con los alias de nuestro sistema para _systemd_ ejecutamos:
|
||||
|
||||
~~~~{bash}
|
||||
scst docker # para arrancar el servicio
|
||||
|
||||
scsp docker # para parar el servicio
|
||||
~~~~
|
||||
|
||||
### docker-compose
|
||||
|
||||
* Nos bajamos la última versión disponible de [las releases de
|
||||
github](https://github.com/docker/compose/releases)
|
||||
* Movemos el fichero que hemos descargado a `/usr/local/bin/docker-compose`
|
||||
* Y le damos permisos de ejecución `sudo chmod +x /usr/local/bin/docker-compose`
|
@ -0,0 +1,72 @@
|
||||
# Utilidades para mapas y cartografía
|
||||
|
||||
## josm
|
||||
|
||||
Descargamos y añadimos la clave gpg:
|
||||
|
||||
~~~~
|
||||
wget -q https://josm.openstreetmap.de/josm-apt.key -O- | sudo apt-key add -
|
||||
~~~~
|
||||
|
||||
Añadimos el origen de software:
|
||||
|
||||
~~~~
|
||||
sudo add-apt-repository "deb [arch=amd64] https://josm.openstreetmap.de/apt $(. /etc/os-release; echo "$UBUNTU_CODENAME") universe"
|
||||
~~~~
|
||||
|
||||
Y ahora procedemos a la instalación:
|
||||
|
||||
~~~~
|
||||
sudo apt update
|
||||
sudo apt install openjfx josm
|
||||
~~~~
|
||||
|
||||
Alternativamente también podemos instalar la versión "nightly" con el
|
||||
siguiente comando, pero tendréis actualizaciones diarias:
|
||||
|
||||
~~~~
|
||||
sudo apt josm-latest
|
||||
~~~~
|
||||
|
||||
Ya estamos listos para editar Open Street Map offline.
|
||||
|
||||
## MOBAC
|
||||
|
||||
Bajamos el paquete desde [la página
|
||||
web](http://mobac.sourceforge.net/) y descomprimimos en `~/apps/mobac`
|
||||
como de costumbre nos creamos una entrada de menú con _MenuLibre_.
|
||||
|
||||
Conviene bajarse wms adicionales para MOBAC y leerse [la
|
||||
wiki](http://mobac.sourceforge.net/wiki/index.php/Custom_XML_Map_Sources)
|
||||
|
||||
### Referencias
|
||||
|
||||
*[Cartografía digital] (https://digimapas.blogspot.com.es/2015/01/oruxmaps-vii-mapas-de-mobac.html)
|
||||
|
||||
## QGIS
|
||||
|
||||
Añadimos la clave gpg:
|
||||
|
||||
~~~~
|
||||
wget -q https://qgis.org/downloads/qgis-2019.gpg.key -O- | sudo apt-key add -
|
||||
~~~~
|
||||
|
||||
Ejecutamos:
|
||||
|
||||
~~~~
|
||||
sudo add-apt-repository "deb [arch=amd64] https://qgis.org/debian $(. /etc/os-release; echo "$UBUNTU_CODENAME") main"
|
||||
~~~~
|
||||
|
||||
E instalamos como siempre
|
||||
|
||||
~~~~
|
||||
sudo apt update
|
||||
sudo apt install qgis
|
||||
~~~~
|
||||
|
||||
### Referencias
|
||||
|
||||
* [Conectar WMS con QGIS](https://mappinggis.com/2015/09/como-conectar-con-servicios-wms-y-wfs-con-arcgis-qgis-y-gvsig/)
|
||||
* [Importar OSM en QGIS](https://www.altergeosistemas.com/blog/2014/03/28/importando-datos-de-osm-en-qgis-2/)
|
||||
* [Learn OSM](http://learnosm.org/es/osm-data/osm-in-qgis/)
|
||||
* [QGIS Tutorials](http://www.qgistutorials.com/es/docs/downloading_osm_data.html)
|
@ -0,0 +1,133 @@
|
||||
# Recetas variadas
|
||||
|
||||
## Solucionar problemas de menús duplicados usando menulibre
|
||||
|
||||
----------------------------------------------------------------------
|
||||
__Nota__: Ya no uso _MenuLibre_
|
||||
----------------------------------------------------------------------
|
||||
|
||||
En el directorio `~/.config/menus/applications-merged` borramos todos
|
||||
los ficheros que haya.
|
||||
|
||||
## Formatear memoria usb
|
||||
|
||||
"The driver descriptor says the physical block size is 2048 bytes, but Linux says it is 512 bytes."
|
||||
|
||||
Este comando borró todas las particiones de la memoria:
|
||||
|
||||
`sudo dd if=/dev/zero of=/dev/sdd bs=2048 count=32 && sync`
|
||||
|
||||
I'm assuming your using gparted.
|
||||
|
||||
First delete whatever partitions you can...just keep pressing ignore.
|
||||
|
||||
There will be one with a black outline...you will have to unmount
|
||||
it...just right click on it and unmount.
|
||||
|
||||
Again you will have to click your way through ignore..if fix is an
|
||||
option choose it also.
|
||||
|
||||
Once all this is done... you can select the device menu and choose new
|
||||
partition table.
|
||||
|
||||
Select MSdos
|
||||
|
||||
Apply and choose ignore again.
|
||||
|
||||
Once it's done it show it's real size.
|
||||
|
||||
Next you can format the drive to whichever file system you like.
|
||||
|
||||
It's a pain in the behind this way, but it's the only way I get it
|
||||
done..I put live iso's on sticks all the time and have to remove
|
||||
them. I get stuck going through this process every time.
|
||||
|
||||
## Copiar la clave pública ssh en un servidor remoto
|
||||
|
||||
`cat /home/tim/.ssh/id_rsa.pub | ssh tim@just.some.other.server 'cat >> .ssh/authorized_keys'`
|
||||
|
||||
O también:
|
||||
|
||||
`ssh-copy-id -i ~/.ssh/id_rsa.pub username@remote.server`
|
||||
|
||||
## ssh access from termux
|
||||
<https://linuxconfig.org/ssh-into-linux-your-computer-from-android-with-termux>
|
||||
|
||||
## SDR instalaciones varias
|
||||
|
||||
Vamos a trastear con un dispositivo [RTL-SDR.com](https://www.rtl-sdr.com/).
|
||||
|
||||
Tenemos un montón de información en el blog de [SDR
|
||||
Galicia](https://sdrgal.wordpress.com/) y tienen incluso una guia de
|
||||
instalación muy completa, pero yo voy a seguir una guía un poco menos
|
||||
ambiciosa, por lo menos hasta que pueda hacer el curso que imparten
|
||||
ellos mismos (SDR Galicia)
|
||||
|
||||
La guía en cuestión la podemos encontrar
|
||||
[aquí](https://ranous.wordpress.com/rtl-sdr4linux/)
|
||||
|
||||
Seguimos los pasos de instalación:
|
||||
|
||||
* La instalación de `git`, `cmake` y `build-essential` ya la tengo hecha.
|
||||
|
||||
~~~~
|
||||
sudo apt-get install libusb-1.0-0-dev
|
||||
~~~~
|
||||
|
||||
## Posible problema con modemmanager y micros programables
|
||||
|
||||
Programando el _Circuit Playground Express_ con el _Arduino IDE_ tenía
|
||||
problemas continuos para hacer los _uploads_, al parecer el servicio
|
||||
_ModemManager_ es el culpable, se pasa todo el tiempo capturando los
|
||||
nuevos puertos serie por que considera que todo es un modem.
|
||||
|
||||
Una prueba rápida para comprobarlo: `sudo systemctl stop ModemManager`
|
||||
|
||||
Con esto funciona todo bien, pero en el siguiente arranque volvera a
|
||||
cargarse.
|
||||
|
||||
Para dar una solución definitiva se puede programar una regla para
|
||||
impedir que el _ModemManager_ capture el puerto con un dispositivo
|
||||
|
||||
Creamos un fichero con permisos de `root` en el directorio
|
||||
`/etc/udev/rules.d` que llamaremos: `99-arduino.rules`
|
||||
|
||||
Dentro de ese fichero especificamos los codigos VID/PID que se deben ignorar:
|
||||
|
||||
~~~~
|
||||
# for arduino brand, stop ModemManager grabbing port
|
||||
ATTRS{idVendor}=="2a03", ENV{ID_MM_DEVICE_IGNORE}="1"
|
||||
# for sparkfun brand, stop ModemManager grabbing port
|
||||
ATTRS{idVendor}=="1b4f", ENV{ID_MM_DEVICE_IGNORE}="1"
|
||||
~~~~
|
||||
|
||||
Ojo que si tienes SystemV no va a funcionar.
|
||||
|
||||
https://starter-kit.nettigo.eu/2015/serial-port-busy-for-avrdude-on-ubuntu-with-arduino-leonardo-eth/
|
||||
|
||||
https://www.codeproject.com/Tips/349002/Select-a-USB-Serial-Device-via-its-VID-PID
|
||||
|
||||
## Programar los nanos con chip ch340 o ch341
|
||||
|
||||
Linux mapea el chip correctamente en un puerto `/dev/ttyUSB0` y con
|
||||
eso basta, que no te lien con el cuento de "drivers para linux"
|
||||
|
||||
Todo lo que hace falta es configurar correctamente el _Arduino IDE_,
|
||||
hay que escoger:
|
||||
|
||||
~~~~
|
||||
Board: "Arduino Nano"
|
||||
Processor: "ATmega168"
|
||||
Port: "/dev/ttyUSB0"
|
||||
~~~~
|
||||
|
||||
Y ya funciona todo.
|
||||
|
||||
## Linux Mint 20 es _python agnostic_
|
||||
|
||||
Tenemos dos opciones:
|
||||
|
||||
~~~~{bash}
|
||||
apt install python-is-python2
|
||||
apt install python-is-python3
|
||||
~~~~
|
Loading…
Reference in new issue