Cómo configurar las claves SSH

Si nos conectamos por SSH a diferentes  servidores remotos muy frecuentemente es conveniente hacerlo mediante clave publica para no tener que estar recordando las contraseñas de los servidores remotos. Además de  ser mucho mas seguro que  utilizar contraseñas.
Las claves de SSH se almacenan en ~/.ssh. Debe verificarse que no existen antes de crearse unas nuevas.
SSH trabaja con un par de claves, una privada ~/.ssh/id_  y una publica ~/.ssh/id_.pub. El tipo de cifrado suele ser RSA. La clave pública se puede entregar libremente y se añade a los servidores a los cuales deseas conectarte en el archivo ~/.ssh/authorized_keys.
1. Generar claves SSH en el cliente(user).
Nos pedirá donde guardar las claves y una contraseña para poder utilizar la clave privada.
Utilizamos el directorio por defecto y omitimos la contraseña de la clave privada.

 user@client:~$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa): 
Created directory '/home/user/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/user/.ssh/id_rsa.
Your public key has been saved in /home/user/.ssh/id_rsa.pub.
The key fingerprint is:
70:d8:4d:a5:50:49:a7:91:34:90:d1:b3:18:a6:ea:48 user@client
The key's randomart image is:
+--[ RSA 2048]----+
|        +OB+o    |
|       o++=*     |
|      oooo+o     |
|      .o. .      |
|     .  S        |
|  E .            |
| . o             |
|  . .            |
|                 |
+-----------------+
user@client:~$ 

2. Copiar clave publica en el usuario del servidor(user_s).

user@client$ ssh-copy-id user_s@server
/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_s@server's password: 
Number of key(s) added: 1
Now try logging into the machine, with:   "ssh 'user_s@server'"
and check to make sure that only the key(s) you wanted were added.

3. Acceso al servidor.
Ahora podremos acceder al servidor sin contraseña a través las claves SSH.

$ ssh user_s@server

Atom Editor + SFTP

Vamos a modificar un archivo de WordPress directamente en el servidor Web utilizando el editor Atom.

  1. Descargamos e instalamos Atom.
  2. Atom Accedemos a la configuración pulsando «CTRL + , «
  3. Vamos a Install y buscamos «remote-edit» e instalamos .
  4. Vamos a packages, remote-edit, add new host(sftp). Rellenamos los campos y save.

 

atom+sftp

5. Pulsamos «Alt+Ctrl+B». Elegimos sftp y conectamos.

Ya podemos elegir el archivo que queramos para editarlo y cuando lo guardemos se modificara en el servidor Web automáticamente.

 

Añadir Iconos en Genesis con Font Awesome

Descargamos la librería de la web Font Awesone . Descomprimimos el zip  y tenemos la siguiente estructura.

Carpeta-font-awesome

Mediante Ftp creamos la carpeta awesone dentro de la carpeta raíz de nuestro theme child  «/wp-content/themes/nombre-tema/ «. Ahí copiamos la carpeta css y la carpeta fonts. Modificamos los permisos  de las carpetas según nuestra instalación de WordPress.

Añadimos dentro de functions.php :

 
//*Añadir  Font Awesome Icons
add_action( 'wp_enqueue_scripts', 'afn_enqueue_awesome' ); 
function afn_enqueue_awesome() { 
if ( !is_admin() ) { 
wp_enqueue_style( 'afn-font-awesome', get_bloginfo( 'stylesheet_directory' ) . '/awesome/css/font-awesome.min.css', array(), '4.6.2' );
 } 
}

Si la librería se actualiza basta con cambiar la versión : array(), '4.6.2'.

Para que aparezcan los iconos solo debemos añadir esta linea dentro de nuestro Html.

<i class="fa fa-camera-retro fa-lg"></i> fa-lg
<i class="fa fa-camera-retro fa-2x"></i> fa-2x
<i class="fa fa-camera-retro fa-3x"></i> fa-3x
<i class="fa fa-camera-retro fa-4x"></i> fa-4x
<i class="fa fa-camera-retro fa-5x"></i> fa-5x

fa-lg
fa-2x
fa-3x
fa-4x
fa-5x

Listado de Iconos

OpenElec acceso a carpeta compartida NFS en un NAS Synology

Tenemos nuestra Raspberry Pi como reproductor multimedia con la distribución OpenElec de Kodi. Vamos a acceder a nuestro Nas Synology para reproducir contenidos.

En nuestro Nas Synology tenemos una carpeta compartida mediante NFS. En este caso la carpeta esta en :  192.168.1.188:\volume1\Películas.

Accedemos mediante SSH a la Raspberry Pi la ip es la 192.168.1.200.

user@ubuntu$ ssh root@192.192.1.200

El password  es  «openelec».

Creamos la carpeta en la que vamos a montar .

Pi:~ # mkdir /storage/Peliculas

Accedemos a la carpeta /storage/.config/system.d

Pi:~ # cd /storage/.config/system.d

Creamos el archivo storage-Peliculas.mount
El nombre del archivo tiene que ser «punto-montaje.mount» cambiando los «/» por un guion «-» y acabado en «.mount «.

Pi:~ # nano storage-Peliculas.mount

Añadimos estas lineas

[Unit]

Description=test nfs mount script
Requires=network-online.service
After=network-online.service
Before=kodi.service

[Mount]

What=192.168.1.188:/volume1/Peliculas
Where=/storage/Peliculas
Options=udp,noatime,rsize=32768,wsize=32768,nolock,nfsvers=3
Type=nfs

[Install]

WantedBy=multi-user.target

Montamos la unidad Nfs.

Pi:~ # systemctl start storage-Peliculas.mount

Decimos al sistema que monte la partición cada vez que arranque.

Pi:~ # systemctl enable storage-Peliculas.mount

Comprobamos que se ha montado.

Pi:~ #systemctl status storage-Peliculas.mount

Comprobamos su contenido

Pi:~ # ls /storage/Peliculas

Desde Kodi nos aparecerá una carpeta que pondrá Peliculas.

Kodi-Peliculas

WordPress Error upload_max_filesize en Ubuntu 14.04

Por defecto el tamaño máximo de un archivo que se puede subir en WordPress es de 2 Mb. Esta limitación viene por parte de la versión de PHP para Apache2.

1. Localizar php.ini

Método 1.

Podemos crear un fichero info.php dentro del directorio raiz de la pagina web en esto caso /var/www/html

user@Server:/var/www/html$ sudo nano info.php

Añadimos :

<?php phpinfo(); ?>

Accedemos a la pagina http://miweb/info.php y vemos todos lo parámetros de configuración de PHP.

Configuracion-php-apache2

Al final borraremos el archivo php.info

user@Server:/var/www/html$ sudo rm info.php

Método 2.

Tambien podemos localizar el archivo «php.ini»  así :

user@Server:~$ sudo find / -name php.ini
/etc/php5/apache2/php.ini
/etc/php5/cli/php.ini

2. Modificamos php.ini

Una vez localizado editamos el archivo php.ini para Apache2.

user@Server:~$ sudo nano /etc/php5/apache2/php.ini

Para no tener problemas modificamos el archivo php.ini con estos valores.

upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 300

Reiniciamos el servidor Apache2.

user@Server:~$ sudo service apache2 restart
 * Restarting web server apache2 

Mas información: PHP

Multisite con Apache2 Virtual Hosts en Ubuntu 14.04

Tenemos una web creada en WordPress y necesitamos crear un subdomio para crear otra instancia de WordPress diferente. Una forma de realizarlo es mediante los Virtual Host de Apache.

El dominio principal es «juancarlos.es» y vamos a crear un subdominio nuevo «tienda.juancarlos.es». Crearemos una carpeta especifica para el subdominio y después podremos instalar sobre esa carpeta un nuevo site.

Nuestro Site actual esta en directorio /var/www/html/.

Dentro del directorio /var/www/html/ creamos la carpeta tienda

$ sudo mdkir -p /var/www/html/tienda

Permisos

$ sudo chown  www-data:www-data /var/www/html/tienda
$ sudo chmod -R 755 /var/www/html/tienda

En Apache el fichero de configuración por defecto es «/etc/apache2/sites-avaliable/000-default.conf».

<VirtualHost *:80>

# Leave this alone. This setting tells Apache that
# this vhost should be used as the default if nothing
# more appropriate is available.

ServerName default:80

# REQUIRED. Set this to the directory you want to use for
# your “default” site files.

DocumentRoot /var/www/html

# Optional. Uncomment this and set it to your admin email
# address, if you have one. If there is a server error,
# this is the address that Apache will show to users.

#ServerAdmin you@example.com

# Optional. Uncomment this if you want to specify
# a different error log file than the default. You will
# need to create the error file first.

#ErrorLog /var/www/vhosts/logs/error_log

</VirtualHost>

Creamos un nuevo fichero nuevo copiando el archivo por defecto de configuración con el nombre del dominio nuevo.

$ sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/tienda.juancarlos.es.conf

Editamos.

$ sudo nano /etc/apache2/sites-available/tienda.juancarlos.es.conf

Y añadimos estos campos.

Multisite-Apache-Vhosts

<VirtualHost *:80>
ServerAdmin webadmin@dominio.com (opcional) ServerName tienda.juancarlosbeltran.es ServerAlias www.tienda.juancarlosbeltran.es (opcional) DocumentRoot /var/www/html/tienda <Directory "/var/www/html/tienda"> AllowOverride All </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>

Habilitamos el host virtual en Apache.

$ sudo a2ensite tienda.juancarlos.es

Reiniciamos el servicio

$ service apache2 reload

Debemos modificar el Servidor de DNS para que apunte a nuestro servidor con el nuevo nombre de dominio.

En la carpeta creada podemos restaurar una copia de WordPress realizada con Duplicator o instalar un WordPress con una base de datos nueva.

Tenemos que tener en cuenta que cuando hagamos un copia de seguridad del dominio principal también salvaremos el subdominio.