General Linux

From Wickle Wiki

(Redirected from Linux)

Seccion de Tips and Tricks del sistema operativo Linux. Seguro que algo de esto es de utilidad en algun momento.


Contents

Teclado español Xfree 4 y Gnome

Problema: No funcionan las teclas < y >

Solucion: La gnome tiene su propio mapeo de teclas, asi que hay que ir a las opciones de teclado de gnome y poner "Generic 105-key(intl)", pues si tienes 104, esa tecla no la pilla.

Autenticacion automatica (sin passwd)

Problema: Lo que necesitamos es hacer un ssh a una maquina de la red sin que nos pida contraseña, pues el usuario es exactamente el mismo y las maquinas podrian ser un cluster tranquilamente. De modo que el objetivo es poder hacer "ssh -lusuario maquina2" y que no nos pida passwd .

Esto esta probado entre 2 solaris, entre 2 linux , y entre linux->Solaris y Solaris->linux

Solucion: Con el SSH protocol 1 se usaba el archivo .shosts (descendiente del .rhosts), pero ahora debemos generar un par de claves en el equipo cliente y despues copiarlas al equipo servidor: Opciones IMPRESCINDIBLES en el archivo de configuracion:

  • RSAAuthentication yes
  • PubkeyAuthentication yes
  • AuthorizedKeysFile .ssh/authorized_keys
/etc/ssh/sshd_config

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys
RhostsAuthentication yes
IgnoreRhosts no
ChallengeResponseAuthentication no
SyslogFacility AUTH
LogLevel VERBOSE
X11Forwarding yes
UsePrivilegeSeparation no
Subsystem       sftp    /usr/lib/ssh/sftp-server
ChallengeResponseAuthentication  no (desactivamos autenticacion mediante contraseña)

Entre linuxes/Unixes con ssh protocol 2

Como podemos comprobar, nos pide validacion para acceder a la maquina remota:

assc10-48:~ # ssh usuario@assc10-40
usuario@assc10-40's password:
******
Last login: Tue Oct 19 10:00:49 2004 from assc10-48
Have a lot of fun...

Generamos en nuestro ordenador (cliente le podemos llamar) el par de claves, publica y privada.

assc10-48:~ # ssh-keygen -t rsa (USANDO RSA)
Generating public/private rsa key pair.
Enter file in which to save the key (/home/usuario/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): *********
Enter same passphrase again: *********
Your identification has been saved in /home/usuario/.ssh/id_rsa.
Your public key has been saved in /home/usuario/.ssh/id_rsa.pub.
The key fingerprint is:
97:1f:be:bd:f1:16:d2:81:f6:49:1f:49:8b:d9:b2:52 

Copiamos la clave publica en el ordenador remoto

assc10-48:~ # scp /home/usuario/.ssh/id_rsa.pub assc10-40:/home/usuario/.ssh/authorized_keys2 

Probamos la conexion:

 
assc10-48:~ # ssh usuario@assc10-40 
Last login: Tue Oct 19 11:00:49 2004 from localhost
Have a lot of fun...
bash-2.05b$ exit
Connection to localhost closed.

En este caso nos vale para pasar de root a usuario sin passwd y con ssh (no con su)

Ejemplo entre maquinas

bash-2.03$ uname -a
SunOS asterix 5.8 Generic_108528-13 sun4u sparc SUNW,Sun-Fire-880 Solaris
bash-2.03$ id
uid=205(sifo_t) gid=400(sifo) groups=400(sifo),220(weblogic)
bash-2.03$ ssh-keygen -t rsa
bash-2.03$ scp /sicas/sifo_t/.ssh/id_rsa.pub 69.50.10.140:/home/dumbuser/.ssh/authorized_keys
pasword:*********
bash-2.03$ scp test_file 69.50.10.140:/home/dumbuser/test_file
test_file                                                      100%  226     0.2KB/s   00:00
bash-2.03$ 

Desde Windows a Linux con ssh protocol 2

Primero al igual que con Linux , generamos el par de claves (publica y privada)

assc10-48:~ # ssh usuario@localhost
usuario@localhost's password:

assc10-48:~ # ssh-keygen -t rsa (ALTERNATIVA QUE FUNCIONA ENTRE LINUX, USANDO RSA)
Generating public/private rsa key pair.
Enter file in which to save the key (/home/usuario/.ssh/id_rsa):
Enter passphrase (empty for no passphrase): *********
Enter same passphrase again: *********
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /home/usuario/.ssh/id_rsa.pub.
The key fingerprint is:
97:1f:be:bd:f1:16:d2:81:f6:49:1f:49:8b:d9:b2:52 root@assc10-48
Copiamos la clave en el ordenador remoto
assc10-40:~ # cat /home/usuario/.ssh/id_dsa.pub >> /home/usuario/.ssh/authorized_keys2 

Ahora necesitamos copiar la clave privada (/home/usuario/.ssh/id_dsa) recien generada al windows.

Desde Windows abrimos el puttygen e importamos la clave privada para convertirla a una clave que entienda el putty.

conectamos el putty diciendole que emplee la clave privada que acabamos de exportar Probamos la conexion:

Linux en el AlphaServer 400 4/233

La consolita con fondo azul que nos aparece nada mas arrancar se llama SRM, para ver las unidades que hay en el servidor, discos duros, floppys, etc se pone :

>>>show dev
>>>boot dva0 -flags 0 (arranca el diskette)
>>>boot dka400 (arranca el HD1)
>>>boot dka0 (equivale a boot dka0.0.0.6.0)

Si se ha cascado algo : entramos en el aboot :

>>>boot dka0 -fl single (cualquier argumento para q casque el aboot y nos salga la consola)
aboot> d boot (vemos el contenido del directorio boot)
aboot> boot boot/vmlinuz-2.2.18pre21-generic ro root=/dev/sda1 single
ARRANCAMOS EN SINGLE MODE !!!!


Referencias

http://www.debian.org/releases/stable/alpha/ch-rescue-boot.en.html#s-boot-from-floppies

IMAP over SSH

Contenido ampliado y actualizado en esta entrada de mi blog.

Problema

Tenemos el puerto 143 abierto al exterior para poder recoger correo mediante el protocolo IMAP desde casa, lo cual es un agujero de seguridad tremento si los usuarios que recogen el correo externo, pues la contraseña viaja en plano.

Solucion

La solucion pasa por establecer un tunel SSH mediante el cual introducimos todas las comunicaciones entre el cliente y el servidor para el protocolo IMAP.

Esta solucion es perfectamente aplicable para otros protocolos como SMTP.

Implementacion

Como establecer una conexion segura entre nuestro pc cliente y el servidor IMAP, esta visto que este es uno de los metodos mas seguros para recoger el correo de manera remota, usando ssh .... iniciamos un tunel SSH desde nuestra maquina local al servidor imap asi :

vic@coffman:~$ ssh -N -l victor -L 2143:localhost:143 server.imap
victor@server.imap.ip's password:********

Establece un tunel desde la ip localhost:2143 hasta el server.imap:143

Luego solo tenemos que configurar el cliente de correo para q recoga el correo en local:2143

                    |----------- S S H   T U N N E L ---------|
host:     localhost <-----------------------------------------> server.imap
tcp port:         2143                                       143

Desde windows para establecer el tunel, podemos usar el putty con la opcion tunnel que trae incorporada en las ultimas versiones.

Referencias

http://www.maths.ox.ac.uk/help/faqs/security/email-over-ssh/

Como instalar la fuente MS Trebuchet en Linux

En debian ... instalar los siguientes paquetes :

  • x-ttcidfont-conf
  • defoma
  • ttf-bitstream-vera
  • ttf-freefont
  • msttcorefonts (este es el que contiene las fuentes de microsoft)

Para este ultimo NECESITAMOS añadir al sources.list los paquetes contrib , pues es ahi donde esta, por ejemplo:

deb http://ftp.rediris.es/debian/ testing main contrib

Este paquete , se baja de internet la trebuchet y otras fuentes mas de windows.


Modificaciones al archivo /etc/X11/XF86Config:

A la seccion Files añadimos esto al inicio:

FontPath        "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"

hacemos un rehash para que actualice las fuentes:

#xset fp rehash

y listo ... se puede probar con el openoffice, veremos como ya nos aparece la nueva fuente.

Stop_hand.png Warning: Es probable que necesitemos reiniciar las X.


Referencias

http://egads.ertius.org/~rob/font_guide.txt

http://packages.debian.org/testing/graphics/msttcorefonts.html

Obtener password encriptada para el CVS

Supongo que es equivalente para el passwd del CVS y pasa el del sistema:

perl -e 'print crypt "password", "sa"'

donde sa es el salto para generar la contraseña.

Manda mail con attachments desde la linea de comandos

Par aenviar un mail con attachments desde linux sin usar entorno grafico es necesario usar el uundecode (programa antiguo donde los haya)

uuencode archivo.pdf archivo.pdf | mailx -s "Ofertas de Empleo Publico" correo@correo.com

Mysql Debian conexiones TCP denegadas por defecto

Por defecto el Mysql que instalamos con la debian (via apt-get) viene con acceso externo (TCP) desactivado !!!! si, parece increible, pero es cierto ...

Solucion : Archivo de configuracion /etc/mysql/my.cnf Linea 41 : Comentamos:

skip-networking

añadimos :

bind-address = 127.0.0.1

este bind-address nos deja conectar UNICAMENTE desde el equipo local, para permitir accesos a nuestro mysql desde fuera debemos poner:

bind-address = 192.168.0.x para la interface de la red local ó

bind-address = 0.0.0.0 para cualquier interface

Error: Can't open display under Debian

Este es un extraño error, tienes perfectamente exportado el DISPLAY (export DISPLAY="192.168.0.18:0"), y aceptas conexiones remotas (xhost +), pero aun asi sigue dando este error al ejecutar xeyes en remoto.

Lo primero es mirar alguno de estos archivos buscando la opcion -nolisten tcp que hay que eliminar ...

/etc/X11/xinit/xserverrc

/etc/X11/xdm/Xservers

Si usamos GDM tambien deberemos cambiar el siguiente paramentro en el archivo /etc/X11/gdm/gdm.conf

DisallowTCP=false

a continuacion reiniciamos el gdm/xdm/kdm y listo.

Tambien debemos verificar que en el equipo desde donde hacemos el xeyes en el archivo /etc/ssh/sshd_config tenemos:

X11Forwarding yes

y en el archivo /etc/ssh/ssh_config tenemos:

Host *
ForwardAgent yes
ForwardX11 yes

Firewall iptables, bloquear puertos salientes a todas las IPs excepto a unas cuantas

Suponemos que tenemos una LAN en el rango 192.168.0.x y el router en la red 192.168.1.x , en el medio tenemos un firewall, necesitamos bloquear el acceso al correo externo directamente (puerto 25) para todos los equipos salvo un par de ellos, el 192.168.0.18 y el 192.168.0.2. Es importante insertar estas reglas del firewall en el Orden correcto, por eso usamos -I FORWARD y el numero 11 es el penultimo en mi lista de FORWARD's

iptables -I FORWARD 11 -s 192.168.0.0/24 -p tcp --dport 25 -j DROP
iptables -I FORWARD 11 -s 192.168.0.18/32 -p tcp --dport 25 -j ACCEPT
iptables -I FORWARD 11 -s 192.168.0.2/32 -p tcp --dport 25 -j ACCEPT

Screen para ejecutar tareas en segundo plano

screen es un fantastico comando para ejecutar una aplicacion en un servidor y desatachear la consola, de modo que la podamos recuperar mas adelante, yo la uso por ejemplo para lanzar el servidor Weblogic, o para lanzar el servidor de juegos counterstrike, etc ...

El comando para lanzarlo sería:

vic@whitewidow:~$ screen -A -m -S hlds ./hlds_run -game cstrike +map fy_iceworld +max_players 8

Parametros:

  • -A adaptar el tamaño a la ventana actual
  • -m fuerza la creacion de una nueva consola en vez de reusar la actual
  • -S nombre de la consola (hlds) para poder recuperarlo despues

para desatachear la consola pulsamos CTRL-A+D (CTRL-A y a continuacion D)

Para listar la lista de consolas que tenemos atacheadas :

vic@whitewidow:~$ screen -ls
There is a screen on:
        24141.hlds (Detached)
1 Socket in /var/run/screen/S-vic.

Y finalmente para recuperar la consola :

vic@mailserver:~$ screen -r hlds

Impresion a doble cara y 2 hojas por carilla (Cups - Epson)

Para imprimir a dos caras y con 2 hojas por cada carilla: (probado con Acrobat Reader - Debian - Cups )

/usr/bin/lpr -o page-set=odd -o number-up=2 -P Stylus-CX3650---CUPS+Gutenprint-v5.0.0 -o PageSize=A4

Le damos la vuelta como en el grafico windows de la epson (link) y volvemos a imprimir el resto de hojas:

/usr/bin/lpr -o page-set=even -o number-up=2 -P Stylus-CX3650---CUPS+Gutenprint-v5.0.0 -o PageSize=A4

Explicacion:

  • page-set= odd -> imprime solo las impares
  • page-set= even -> imprime solo las pares
  • number-up=2 -> 2 hojas por cada carilla

Image:Instrucciones_Impresora_Queres.png

Personal tools
This site is powered by Queres Tecnologias