miércoles, 5 de marzo de 2014

FTP

sudo apt-get install vsftpd

sudo gedit /etc/vsftpd.conf

sudo  /etc/init.d/vsftpd  start


# Example config file /etc/vsftpd.conf
#

#
# Allow anonymous FTP? (Disabled by default)
anonymous_enable=NO
#
# Uncomment this to allow local users to log in.
local_enable=YES
#
# Uncomment this to enable any form of FTP write command.
write_enable=YES

#
# Activate directory messages - messages given to remote users when they
# go into a certain directory.
dirmessage_enable=YES
#
# If enabled, vsftpd will display directory listings with the time
# in  your  local  time  zone.  The default is to display GMT. The
# times returned by the MDTM FTP command are also affected by this
# option.
use_localtime=YES
#
# Activate logging of uploads/downloads.
xferlog_enable=YES
#
# Make sure PORT transfer connections originate from port 20 (ftp-data).
connect_from_port_20=YES
#

# You may restrict local users to their home directories.  See the FAQ for
# the possible risks in this before using chroot_local_user or
# chroot_list_enable below.
chroot_local_user=YES
#
# You may specify an explicit list of local users to chroot() to their home
# directory. If chroot_local_user is YES, then this list becomes a list of
# users to NOT chroot().
#chroot_local_user=YES
chroot_list_enable=YES
# (default follows)
#chroot_list_file=/etc/vsftpd.chroot_list
#
#
# This option should be the name of a directory which is empty.  Also, the
# directory should not be writable by the ftp user. This directory is used
# as a secure chroot() jail at times vsftpd does not require filesystem
# access.
secure_chroot_dir=/var/run/vsftpd/empty
#
# This string is the name of the PAM service vsftpd will use.
pam_service_name=vsftpd
#
# This option specifies the location of the RSA certificate to use for SSL
# encrypted connections.
rsa_cert_file=/etc/ssl/private/vsftpd.pem

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

sudo apt-get install vsftpd

sudo cp /etc/vsftpd.conf  /etc/vsftpd.conf_original

sudo gedit /etc/vsftpd.conf


listen=YES
local_enable=NO
anonymous_enable=YES
anon_root=/home/ftp/



sudo /etc/init.d/vsftpd restart


anonymous realmente es un usuario llamado 'ftp'

sudo mkdir /home/ftp/incoming

sudo chmod 755 /home/ftp
sudo chmod 777 /home/ftp/incoming

sudo chown root:root /home/ftp/incoming

directorio home del usuario ftp (no debe tener permisos de escritura, propietario root)
drwxr-xr-x   root
/home/ftp/

Directorio con permisos de escritura
drwxrwxrwx   root
/home/ftp/incoming/



Continuación de la configuración del archivo vsftpd en la sección “Anonymus FTP user Settings”:
# Anonymus FTP user Settings ##
Permitir conexiones anónimas.
anonymous_enable=YES
# Directorio raíz para los usuarios anónimos. Carpeta creada
# en /home/ftp/ como se comentó anteriormente.
anon_root=incoming
# Solo permite descargar a los usuarios anónimos aquellos archivos
# que tengan permisos de lectura.
anon_world_readable_only=YES
# Para mi caso especifiqué con la siguiente directiva que los
# usuarios anónimos no tengan permisos para subir archivos
# al servidor.
anon_upload_enable=NO
# Esta directiva permite a los usuarios anónimos a crear carpetas
# en ciertos casos.
anon_mkdir_write_enable=NO
# Directiva que permite establecer el límite de la velocidad máxima
# de transferencia de datos para los usuarios anónimos. Fui un
# poco drástico jeje (2kb/s)
anon_max_rate=2048



http://molons.wordpress.com/2012/01/17/instalar-vsftpd-en-ubuntu-10-04-webmin-y-habilitar-usuario-anonymous/


ftp://ftp.eppg.com/
servicios_en_red
star.tr3k

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

CONFIGURACION FTP

# Example config file /etc/vsftpd.conf
#
# The default compiled in settings are fairly paranoid. This sample file
# loosens things up a bit, to make the ftp daemon more usable.
# Please see vsftpd.conf.5 for all compiled in defaults.
#
# READ THIS: This example file is NOT an exhaustive list of vsftpd options.
# Please read the vsftpd.conf.5 manual page to get a full idea of vsftpd's
# capabilities.
#
#
# Run standalone?  vsftpd can run either from an inetd or as a standalone
# daemon started from an initscript.
listen=YES
#
# Run standalone with IPv6?
# Like the listen parameter, except vsftpd will listen on an IPv6 socket
# instead of an IPv4 one. This parameter and the listen parameter are mutually
# exclusive.
#listen_ipv6=YES
#
# Allow anonymous FTP? (Beware - allowed by default if you comment this out).
anonymous_enable=YES
#
# Uncomment this to allow local users to log in.
#local_enable=YES
#
# Uncomment this to enable any form of FTP write command.
#write_enable=YES
#
# Default umask for local users is 077. You may wish to change this to 022,
# if your users expect that (022 is used by most other ftpd's)
#local_umask=022
#
# Uncomment this to allow the anonymous FTP user to upload files. This only
# has an effect if the above global write enable is activated. Also, you will
# obviously need to create a directory writable by the FTP user.
#anon_upload_enable=YES
#
# Uncomment this if you want the anonymous FTP user to be able to create
# new directories.
#anon_mkdir_write_enable=YES
#
# Activate directory messages - messages given to remote users when they
# go into a certain directory.
dirmessage_enable=YES
#
# If enabled, vsftpd will display directory listings with the time
# in  your  local  time  zone.  The default is to display GMT. The
# times returned by the MDTM FTP command are also affected by this
# option.
use_localtime=YES
#
# Activate logging of uploads/downloads.
xferlog_enable=YES
#
# Make sure PORT transfer connections originate from port 20 (ftp-data).
connect_from_port_20=YES
#
# If you want, you can arrange for uploaded anonymous files to be owned by
# a different user. Note! Using "root" for uploaded files is not
# recommended!
#chown_uploads=YES
#chown_username=whoever
#
# You may override where the log file goes if you like. The default is shown
# below.
#xferlog_file=/var/log/vsftpd.log
#
# If you want, you can have your log file in standard ftpd xferlog format.
# Note that the default log file location is /var/log/xferlog in this case.
#xferlog_std_format=YES
#
# You may change the default value for timing out an idle session.
#idle_session_timeout=600
#
# You may change the default value for timing out a data connection.
#data_connection_timeout=120
#
# It is recommended that you define on your system a unique user which the
# ftp server can use as a totally isolated and unprivileged user.
#nopriv_user=ftpsecure
#
# Enable this and the server will recognise asynchronous ABOR requests. Not
# recommended for security (the code is non-trivial). Not enabling it,
# however, may confuse older FTP clients.
#async_abor_enable=YES
#
# By default the server will pretend to allow ASCII mode but in fact ignore
# the request. Turn on the below options to have the server actually do ASCII
# mangling on files when in ASCII mode.
# Beware that on some FTP servers, ASCII support allows a denial of service
# attack (DoS) via the command "SIZE /big/file" in ASCII mode. vsftpd
# predicted this attack and has always been safe, reporting the size of the
# raw file.
# ASCII mangling is a horrible feature of the protocol.
#ascii_upload_enable=YES
#ascii_download_enable=YES
#
# You may fully customise the login banner string:
#ftpd_banner=Welcome to blah FTP service.
#
# You may specify a file of disallowed anonymous e-mail addresses. Apparently
# useful for combatting certain DoS attacks.
#deny_email_enable=YES
# (default follows)
#banned_email_file=/etc/vsftpd.banned_emails
#
# You may restrict local users to their home directories.  See the FAQ for
# the possible risks in this before using chroot_local_user or
# chroot_list_enable below.
#chroot_local_user=YES
#
# You may specify an explicit list of local users to chroot() to their home
# directory. If chroot_local_user is YES, then this list becomes a list of
# users to NOT chroot().
# (Warning! chroot'ing can be very dangerous. If using chroot, make sure that
# the user does not have write access to the top level directory within the
# chroot)
#chroot_local_user=YES
#chroot_list_enable=YES
# (default follows)
#chroot_list_file=/etc/vsftpd.chroot_list
#
# You may activate the "-R" option to the builtin ls. This is disabled by
# default to avoid remote users being able to cause excessive I/O on large
# sites. However, some broken FTP clients such as "ncftp" and "mirror" assume
# the presence of the "-R" option, so there is a strong case for enabling it.
#ls_recurse_enable=YES
#
# Customization
#
# Some of vsftpd's settings don't fit the filesystem layout by
# default.
#
# This option should be the name of a directory which is empty.  Also, the
# directory should not be writable by the ftp user. This directory is used
# as a secure chroot() jail at times vsftpd does not require filesystem
# access.
secure_chroot_dir=/var/run/vsftpd/empty
#
# This string is the name of the PAM service vsftpd will use.
pam_service_name=vsftpd
#
# This option specifies the location of the RSA certificate to use for SSL
# encrypted connections.
rsa_cert_file=/etc/ssl/private/vsftpd.pem

listen=YES
local_enable=YES
anonymous_enable=NO
anon_root=/srv/ftp/
write_enable=YES
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
ftpd_banner=Bienvenidos al Servidor FTP AI4PC105!
#chroot_local_user=YES
max_clients=20

Host virtual

Permisos
sudo chmod -R 777 /var/www

Crear un fichero de nombre fqdn (Fully Qualified Domain Name)
sudo gedit /etc/apache2/conf.d/fqdn
ServerName localhost
o
ServerName 127.0.0.1

Creación de los directorio para cada sitio virtual
~$ sudo mkdir /var/www/solvirtual
~$ sudo mkdir /var/www/lunavirtual

Creación y edición de las páginas índice de inicio.
~$ sudo touch /var/www/solvirtual/index.html
~$ sudo touch /var/www/lunavirtual/index.html

~$ sudo echo "Bienvenid@s al sitio virtual SOL" > /var/www/solvirtual/index.html
~$ sudo echo "Bienvenid@s al sitio virtual LUNA" > /var/www/lunavirtual/index.html



Creando sitios disponibles y habilitándolos.
~$ sudo touch /etc/apache2/sites-available/sol
~$ sudo touch /etc/apache2/sites-available/luna

~$ sudo gedit /etc/apache2/sites-available/sol

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/solvirtual
    ServerName www.solvirtual.com
    ErrorLog /var/log/apache2/error.log
</VirtualHost>

~$ sudo gedit /etc/apache2/sites-available/luna

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/lunavirtual
    ServerName www.lunavirtual.com
    ErrorLog /var/log/apache2/error.log
</VirtualHost>

ServerAdmin: indica la dirección de correo electrónico del administrador de este dominio
DocumentRoot: Indica la ubicación de los archivos de este dominio
ServerName: Nos indica el dominio de este VirtualHost
ErrorLog: Nos permite especificar un archivo de log especial para este dominio en caso de no desearlo así dejamos el default.


~$ sudo ln -s /etc/apache2/sites-available/sol /etc/apache2/sites-enabled/sol
~$ sudo ln -s /etc/apache2/sites-available/luna /etc/apache2/sites-enabled/luna



Asignación de IP y URL virtual. En DNS o fichero /etc/hosts

 sudo gedit /etc/hosts
127.0.0.1    localhost
127.0.1.1    profe02-laptop

192.168.1.150   www.solvirtual.com
192.168.1.150    www.lunavirtual.com


Reiniciamos el apache mediante comando:
sudo service apache2 restart

Probando en el navegador:
http://www.solvirtual.com/
http://www.lunavirtual.com/

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




apache

Instalación de servidor web Apache2 sobre Linux Ubuntu 12.04

sudo apt-get update

sudo apt-get upgrade

sudo apt-get install apache2

http://localhost
It works!
El directorio raíz de documentos web está en:
/var/www

La página web por defecto es:
index.html
Modifica este fichero html, añadiendo tu nombre y el de tu ordenador.

sudo service apache2 status
sudo service apache2 stop
sudo service apache2 start
sudo service apache2 restart

sudo /etc/init.d/apache2 status
sudo /etc/init.d/apache2 stop
sudo /etc/init.d/apache2 start
sudo /etc/init.d/apache2 restart




http://www.youtube.com/watch?v=SfR_lZCZZqc

Instalación automática desde consola.
http://www.youtube.com/watch?v=Y8UUT_GXDUE

Instalación manual desde consola.
http://www.youtube.com/watch?v=DTs_ULDhODA

http://www.youtube.com/watch?v=Jkw_shT8r4E

http://www.youtube.com/watch?v=buRk44rsKCo

http://www.youtube.com/watch?v=CEkVjXuzdWw&list=PL8A5CF75BA846684D&index=6&feature=plpp_video


---------------------------------------------------------------------------------------------------------------------------------------------------------
sudo apt-get install apache2

http://localhost
It works!

cd /etc/apache2/mods-enabled

ls userdir*
ls: no se puede acceder a userdir*: No existe el fichero o el directorio
Dos directorios:
  • Los módulos disponibles (mods-available)
  • Los módulos activados(mods-enabled) con enlace a los disponibles
(enlace simbólico atención al punto o directorio actual)
sudo ln -s /etc/apache2/mods-available/userdir* .

ls userdir*
userdir.conf  userdir.load

ls -la userdir*
lrwxrwxrwx 1 root root 40 nov 23 22:31 userdir.conf -> /etc/apache2/mods-available/userdir.conf
lrwxrwxrwx 1 root root 40 nov 23 22:31 userdir.load -> /etc/apache2/mods-available/userdir.load

lrwxrwxrwx 1 root root 40 nov 23 22:31 userdir.conf -> /etc/apache2/mods-available/userdir.conf
lrwxrwxrwx 1 root root 40 nov 23 22:31 userdir.load -> /etc/apache2/mods-available/userdir.load

mkdir public_html

editar index.html  dentro de   /home/mariano/public_html

<html>
<body>
<h1>Usuario mariano en ai4pc1??</h1>
<h1> /home/mariano/public_html</h1>
<h1>It works!</h1>
<p>This is the default web page for this server.</p>
<p>The web server software is running but no content has been added, yet.</p>
</body>
</html>

sudo /etc/init.d/apache2 restart

En el navegador
http://localhost/~mariano/

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

Con virgulilla ~  funciona
http://localhost/~mariano/

Sin virgulilla ~  NO funciona
http://localhost/mariano/

Se crea el alias para que funciones en ambos casos.

sudo gedit /etc/apache2/mods-available/alias.conf

<IfModule alias_module>
#
# Aliases: Add here as many aliases as you need (with no limit). The format is
# Alias fakename realname
#
# Note that if you include a trailing / on fakename then the server will
# require it to be present in the URL.  So "/icons" isn't aliased in this
# example, only "/icons/".  If the fakename is slash-terminated, then the
# realname must also be slash terminated, and if the fakename omits the
# trailing slash, the realname must also omit it.
#
# We include the /icons/ alias for FancyIndexed directory listings.  If
# you do not use FancyIndexing, you may comment this out.
#
Alias /icons/ "/usr/share/apache2/icons/"

<Directory "/usr/share/apache2/icons">
    Options Indexes MultiViews
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

Alias /mariano/ "/home/mariano/public_html/"

<Directory "/home/mariano/public_html">
    Options Indexes MultiViews
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>



</IfModule>

En terminal o consola:
 sudo /etc/init.d/apache2 restart

En el navegador :
http://localhost/mariano/

http://localhost/~mariano

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

Userdir

Cada usuario tiene su sitio web en su carpeta personal public_html

Ir a la carpeta de configuración de Apache
cd /etc/apache2

profe02@profe02-laptop:/etc/apache2$ ls
apache2.conf  envvars     magic           mods-enabled  sites-available
conf.d        httpd.conf  mods-available  ports.conf    sites-enabled

apache2.conf es el archivo de configuración de apache,
conf.d es un directorio con configuraciones también,
httpd.conf  para que el administrador del sistema agregue sus configuraciones.

mods-enabled y mods-available contienen los módulos disponibles y los que se cargan (Estas dos carpetas son con las que vamos a trabajar),

sites-available y sites-enabled, sitios disponibles y activados, cumplen una función similar a las carpetas de los mods o modulos,

envvars son variables de entorno
ports.conf es de puertos


cd /etc/apache2/mods-available
ls userdir*

userdir.conf  userdir.load

estos archivos del módulo están disponibles pero no activados, para activarlos debemos meternos dentro del directorio mods-enabled y crear enlaces simbólicos hacia estos dos archivos.

cd /etc/apache2/mods-enabled
profe02@profe02-laptop:/etc/apache2/mods-enabled$ ls userdir*

ls: no se puede acceder a userdir*: No existe el archivo o directorio

crea un enlace simbólico (ln  -s)
(¡atención después del asterisco: espacio punto (directorio actual) !)

profe02@profe02-laptop:/etc/apache2/mods-enabled$ sudo ln -s /etc/apache2/mods-available/userdir* .

profe02@profe02-laptop:/etc/apache2/mods-enabled$ ls userdir*
userdir.conf  userdir.load

ls -la userdir*

sudo /etc/init.d/apache2 restart

En el directorio home o carpeta de usuario y creamos una carpeta llamada public_html, es ahí donde guardamos nuestros archivos web, vamos a crear una página sencilla con el nombre de index.html en esa carpeta.

Lo siguiente es abrir nuestro navegador de internet y en la barra de direcciones poner lo siguiente: http://localhost/~profe02/
el carácter virgulilla ~ indica la ruta de la carpeta home

SSH

Instalación del servidor de shell seguro - SSH

El servidor de shell seguro o SSH (Secure SHell) es un servicio muy similar al servicio telnet ya que permite que un usuario acceda de forma remota a un sistema Linux pero con la particularidad de que, al contrario que telnet, las comunicaciones entre el cliente y servidor viajan encriptadas desde el primer momento de forma que si un usuario malintencionado intercepta los paquetes de datos entre el cliente y el servidor, será muy dificil que pueda extraer la información ya que se utilizan sofisticados algoritmos de encriptación.
La popularidad de ssh ha llegado a tal punto que el servicio telnet prácticamente no se utiliza. Se recomienda no utilizar nunca telnet y utilizar ssh en su lugar.
Para que un usuario se conecte a un sistema mediante ssh, deberá disponer de un cliente ssh. Desde la primera conexión, y mediante encriptación asimétrica, las comunicaciones se encriptan incluido el proceso de autentificación del usuario cuando proporciona su nombre y su contraseña. También se proporciona una clave de encriptación simétrica para encriptar las comunicaciones del resto de la sesión mediante encriptación simétrica por su menor necesidad de procesamiento.
Para instalar el servidor y el cliente ssh debemos instalar mediante apt-get el paquete ssh que contiene tanto la aplicación servidora como la aplicación cliente:
// Instalación de servidor ssh y cliente ssh
root@cnice-desktop:# apt-get install ssh
Los archivos de configuración son:
  • /etc/ssh/ssh_config: Archivo de configuración del cliente ssh
  • /etc/ssh/sshd_config: Archivo de configuración del servidor ssh

Arranque y parada manual del servidor ssh

El servidor ssh, al igual que todos los servicios en Debian, dispone de un script de arranque y parada en la carpeta /etc/init.d.
// Iniciar o Reiniciar el servidor ssh
root@cnice-desktop:# /etc/init.d/ssh restart
service ssh start
// Parar el servidor ssh
root@cnice-desktop:# /etc/init.d/ssh stop
service ssh stop

Arranque automático del servidor ssh al iniciar el sistema.

Para un arranque automático del servicio al iniciar el servidor, debemos crear los enlaces simbólicos correspondientes tal y como se indica en el apartadoArranque automático de servicios al iniciar el sistema.

Conexión al servidor mediante ssh

Para conectar desde un PC cliente al servidor mediante ssh, debemos ejecutar el comando ssh seguido del nombre ó dirección IP del servidor. La conexión se realizará con el mismo nombre de usuario que estemos utilizando en el PC cliente. Ejemplo, supongamos que jessica, desde el PC llamado aula5pc3, quiere conectarse al servidor cuya IP es 192.168.1.239:
// Conexión por ssh
jessica@aula5pc3:~$ ssh 192.168.1.239 The authenticity of host '192.168.1.239 (192.168.1.239)' can't be established. RSA key fingerprint is 51:70:3f:9c:ac:49:52:74:88:f5:45:a6:ae:f0:9c:8a. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '192.168.1.239' (RSA) to the list of known hosts. Password: // Introducir contraseña de jessica jessica@cnice-desktop:~$ // Ya estámos en el servidor
La primera vez que se conecte alguien desde dicho PC cliente, se instalará el certificado de autentificación del servidor, lo cual es normal si se trata de la primera vez. A la pregunta 'Are you sure you want to continue connecting (yes/no)?' debemos responder 'yes' ya que de lo contrario la comunicación se cortará. Si ya nos hemos conectado anteriormente otras veces y vuelve a realizar ésta pregunta, significa que alguien se está haciendo pasar por el servidor (nuestro servidor ha sido hackeado) o que se ha reconfigurado el servidor (cambio de nombre, IP, etc...)
Si deseamos conectarnos al servidor utilizando un nombre de usuario diferente, debemos incluir el nombre de usuario antes del nombre o IP del servidor y separado por una arroba '@'. Ejemplo, supongamos que jessica, desde el PC llamado aula5pc3, quiere conectarse como miguel al servidor cuya IP es192.168.1.239:
// Conexión por ssh como otro usuario
jessica@cliente:~$ ssh miguel@192.168.1.239 Password: // Introducir contraseña de miguel en el servidor miguel@servidor:~$ // Ya estámos en el servidor como miguel
Desde PCs con Windows es posible conectarse por ssh a servidores Linux mediante el programa Putty. Se trata de un cliente ssh para Windows que permite acceder en modo texto al sistema Linux desde sistemas Windows.

Servicios adicionales

El paquete ssh no solamente nos proporciona conexión remota sino que proporciona otros servicios como:

Ejecución remota de aplicaciones gráficas

Mediante ssh existe la posibilidad de ejecutar aplicaciones gráficas en el servidor y manejarlas y visualizarlas en el cliente. El servidor ssh deberá tener activada la redirección del protocolo X, es decir, deberá tener el siguiente parámetro en el archivo de configuración /etc/ssh/ssh_config:
// Habilitar la redirección X en /etc/ssh/sshd_config
X11Forwarding yes
Ejemplo: supongamos que en nuestro terminal tenemos Damn Small Linux (que no dispone del gimp) y deseamos conectarnos a otro PC que sí que tiene instalado el editor gráfico gimp, los pasos que haremos serán:
// Ejecutar aplicaciones gráficas
jessica@cliente:~$ ssh -X cnice@192.168.1.239 // -X para redirigir Xwindows. cnice@cnice-desktop:~$ gimp // Ejecutamos el gimp
El resultado será que desde nuestro Linux sin gimp estamos manejando el gimp que se está ejecutando en el PC remoto:
Desde PCs con Windows es posible conectarse por ssh a servidores Linux de forma gráfica mediante Cygwin. Se trata de un conjunto de programas libres que simulan un 'Unix para Windows' con servidor gráfico X y cliente ssh para Windows entre otras cosas, que permite acceder en modo gráfico al sistema Linux desde sistemas Windows. Otros servidores X gratuitos para Windows son Xming y Mocha.

Servidor de ftp seguro

El paquete ssh también incorpora un servidor ftp seguro y un cliente ftp seguro. Para activar el servidor ftp seguro tan solo hay que tener arrancado el servidor ssh.
El cliente ftp seguro es el comando sftp que funciona igual que el comando ftp. También podemos utilizarlo desde el navegador Nautilus escribiendo sftp://nombre-del-usuario@nombre-del-servidor por ejemplo en la url: sftp://profesor@miservidor

Copia remota de archivos

También se dispone de el comando scp que permite copiar archivos desde y hacia el servidor remoto desde el cliente. Ejemplo, si deseamos copiar el archivo /etc/hosts del servidor cuya IP es 192.168.1.239 e identificándonos como jessica en la carpeta actual de nuestro PC, ejecutaremos el siguiente comando:
// Copiar un archivo del servidor a nuestro PC
root@cliente:~# scp jessica@192.168.1.239:/etc/hosts . Password: // Introducimos la contraseña de jessica en el servidor hosts 100% 443 0.4KB/s 00:00 // Archivo copiado root@cliente:~#
// Copiar un archivo de nuestro PC al servidor

// La carpeta de destino debe existir en el servidor
root@cliente:~# scp miarchivo.txt jessica@192.168.1.239:/home/jessica/pruebas/ Password: // Introducimos la contraseña de jessica en el servidor miarchivo.txt 100% 443 1.6KB/s 00:00 // Archivo copiado root@cliente:~#
// Copiar una carpeta y subcarpetas de nuestro PC al servidor
root@cliente:~# scp -r /datos/*.* jessica@192.168.1.239:/pruebas/datos/ Password: // Introducimos la contraseña de jessica en el servidor datos/*.* 100% 443 50.6KB/s 00:03 // Archivos copiados root@cliente:~#
Desde PCs con Windows es posible utilizar el programa WinSCP que permite copiar archivos desde y hacia el servidor. Se trata de un cliente que utiliza el protocolo ssh para acceder al sistema de archivos del servidor Linux desde sistemas Windows.

Identificación por certificado

Para evitar tener que introducir continuamente la contraseña cuando deseamos conectar con un servidor remoto por ssh, existe la posibilidad de autentificarse por certificado, para ello debemos:
  1. Crear un certificado de usuario en el PC cliente
  2. Copiar el certificado en el PC servidor
Para que el servidor ssh acepte la autentificación por medio de certificado, deberá tener activada la opción PubkeyAuthentication yes, es decir, deberá tener el siguiente parámetro en el archivo de configuración /etc/ssh/sshd_config:
// Permitir autentificación por certificado
PubkeyAuthentication yes

Crear un certificado en el PC cliente

Para crear un certificado que permita autentificar al usuario, debemos ejecutar el comando ssh-keygen. Dicho comando creará dentro de nuestra carpeta home, en una carpeta llamada '.ssh', dos archivos: uno llamado id_rsa que será la clave privada de nuestro certificado y otro llamado id_rsa.pub que será la clave pública de nuestro certificado. Éste último archivo será el que hay que copiar en el servidor remoto.
// Creación de un certificado
miguel@cliente:~$ ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/home/miguel/.ssh/id_rsa): // Archivo del certificado. Podemos dejar el que viene por defecto Created directory '/home/miguel/.ssh'. Enter passphrase (empty for no passphrase): // Opcional Enter same passphrase again: Your identification has been saved in /home/miguel/.ssh/id_rsa. Your public key has been saved in /home/miguel/.ssh/id_rsa.pub. The key fingerprint is: c8:a4:fe:0c:19:78:8e:7d:05:5b:13:df:37:17:e8:ea miguel@dsl.ieslapaloma.com miguel@dsl:~$

Copiar el certificado en el PC servidor

Para poder identificarse en el servidor como miguel desde el cliente, debemos copiar el archivo id_rsa.pub que hemos creado en el cliente, en la carpeta home de miguel en el servidor dentro de una carpeta llamada '.ssh' en un archivo llamado authorized_keys. Para copiar dicho archivo del cliente al servidor, podemos hacerlo con scp. Supongamos que el cliente se llama 'cliente' y el servidor se llama 'servidor':
// Copia del certificado y prueba de la conexión
// Nota: el símbolo ~ en Linux es la carpeta home del usuario 
miguel@cliente:~$ scp ~/.ssh/id_rsa.pub miguel@servidor:~/.ssh/authorized_keys Password: // Va a ser la última vez que introduzcamos la contraseña id_rsa.pub 100% 242 0.2KB/s 00:00 // Copiado miguel@cliente:~$ ssh miguel@servidor // Probamos la conexión miguel@servidor:~$ // Ya estamos en el servidor sin necesidad de contraseña

DNS

Para instalar el servicio DNS Bind9, se puede abrir el gestor de paquetes Synaptic (centro de Software de Ubuntu) (Sistema > Administración) y buscar Bind9. A continuación, se selecciona la instalación pulsando el botón derecho sobre la línea del paquete Bind9 y luego se pulsa en Aplicar los cambios.
 
Inicialmente lo haremos desde la consola o terminal:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install bind9 bind9-doc dnsutils
El servicio DNS está compuesto por dos programas:

El dominio named(demonio servidor): servidor de nombres de dominio que contiene la base de datos con información relativa a un segmento de la red y que responde a las peticiones.

El resolver (cliente): genera las peticiones. Se trata de un conjunto de rutinas que permiten que los clientes accedan a los servidores de nombres para resolver la búsqueda de una dirección IP asociada a un nombre.
En el directorio /etc/bind/ se encuentra named.conf y el resto de archivos de configuración.
El archivo named.conf no se suele modificar. Las zonas específicas del servidor DNS que se configuran se definen en /etc/bin/named.conf.local y se incluyen al final de este archivo con un include.
Para lanzar el servicio debemos ejecutar la orden siguiente:
 # /etc/init.d/bind9 start
 

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

http://www.youtube.com/watch?v=g6NVSvH4h00

Actualizando:
sudo apt-get update
sudo apt-get upgrade
Servidor DNS:
sudo apt-get install bind9

Hay paquetes que no son necesarios y se pueden quitar:
sudo apt-get autoremove

Para parar el servicio debemos ejecutar la orden siguiente:
sudo /etc/init.d/bind9 stop

sudo /etc/init.d/bind9 start

sudo /etc/init.d/bind9 status

sudo /etc/init.d/bind9 reload

sudo /etc/init.d/bind9 restart
El servicio DNS está compuesto por dos programas:

El dominio named(demonio servidor): servidor de nombres de dominio que contiene la base de datos con información relativa a un segmento de la red y que responde a las peticiones.

El resolver (cliente): genera las peticiones. Se trata de un conjunto de rutinas que permiten que los clientes accedan a los servidores de nombres para resolver la búsqueda de una dirección IP asociada a un nombre.
En el directorio /etc/bind/ se encuentra named.conf y el resto de archivos de configuración.
El archivo named.conf no se suele modificar.

Las zonas específicas del servidor DNS que se configuran se definen en/etc/bin/named.conf.local y se incluyen al final de este archivo con un include.


CONFIGURACIÓN DNS EN UBUNTU.


dentro de los siguientes archivos o ficheros debemos tener:

No se modifica:
sudo gedit /etc/bind/named.conf

named.conf

include "/etc/bind/named.conf.options";
include "/etc/bind/named.conf.local";
include "/etc/bind/named.conf.default-zones";


Se configura la zona de resolución directa de tipo maestra y el nombre del fichero que contiene los registros.
sudo gedit /etc/bind/named.conf.local

named.conf.local

// Do any local configuration here

// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";

zone "aulaI4.com" {
   type master;
   file "/etc/bind/db.aulaI4.com";
};


Fichero de zono, resolución directa (con el nombre se obtiene la dirección IP) 
sudo gedit /etc/bind/db.aulaI4.com



; BIND fichero de datos de la zona directa del aula 32I
$TTL 38400 ;segundos que puede estar el registro en la caché
; se pone el nombre de la zona o @ que representa el nombre del fichero
aulaI4.com. IN SOA ai4pc150.aulaI4.comprofe.aulaI4.com. (
2013102201 ; Número de serie / Serial
10800 ; Actualización / Refresh
3600 ; Tiempo de reintentos / Retry
604800 ; Caducidad / Expire
38400 ) ; Valor TTL / Negative Cache TTL
;
; Atención al punto final, con él no añade nombre de la zona
aulaI4.com. IN NS ai4pc150.aulaSER.com.
aulaI4.com. IN A 192.168.1.150
ai4pc150 IN A 192.168.1.150

ai4pc101.aulaI4.com. IN A 192.168.1.101
ai4pc102.aulaI4.com. IN A 192.168.1.102
ai4pc103.aulaI4.com. IN A 192.168.1.103
ai4pc104.aulaI4.com. IN A 192.168.1.104
ai4pc105.aulaI4.com. IN A 192.168.1.105
ai4pc106.aulaI4.com. IN A 192.168.1.106
ai4pc107.aulaI4.com. IN A 192.168.1.107
ai4pc108.aulaI4.com. IN A 192.168.1.108
ai4pc109 IN A 192.168.1.109
ai4pc110 IN A 192.168.1.110
ai4pc111 IN A 192.168.1.111
ai4pc112 IN A 192.168.1.112
ai4pc113 IN A 192.168.1.113
ai4pc114 IN A 192.168.1.114
ai4pc115 IN A 192.168.1.115


Comandos de comprobación de la configuración:
sudo named-checkconf 
sudo named-checkconf /etc/bind/named.conf

Comprobación del fichero de zona:
sudo named-checkzone aulaI4.com /etc/bind/db.aulaI4.com

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

4.1. Resolución inversa
De la misma forma que los nombres de dominio se resuelven efectuando consultas para cada componente de derecha a izquierda, las direcciones IP siguen el mismo esquema.

Su dominio raíz se denomina in-addr.arpa

Las direcciones IP están escritas en orden inverso en el dominio in-addr.arpa (es decir, utiliza una notación de puntos invertida, algo lógico, ya que las redes se diferencian por los primeros valores de su dirección IP). Cada servidor de nombres de dominio autoritario requiere una zona de resolución inversa.


Configuración y comprobación de una zona inversa ------------------------------

profes@AI4PC150:~$ sudo gedit /etc/bind/named.conf.local

//
// Do any local configuration here
//

// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";

//Zona de resolución directa

zone "aulaI4.com" {
   type master;
   file "/etc/bind/db.aulaI4.com";
};


//Zona de resolución inversa

zone "192.in-addr.arpa" {
    type master;
    file "/etc/bind/db.192";
};



profes@AI4PC149:~$ sudo gedit /etc/bind/db.192

;
; BIND resolución inversa, dominio raíz i-addr.arpa
;
$TTL    38400    ;segundos que puede estar el registro en la caché
192.in-addr.arpa.    IN    SOA    ai4pc150.aulaI4.comprofe.aulaI4.com. (
             2013102301        ; Número de serie / Serial
              10800        ; Actualización / Refresh
               3600        ; Tiempo de reintentos / Retry
             604800        ; Caducidad / Expire
              38400 )    ; Valor TTL / Negative Cache TTL
;
192.in-addr.arpa.    IN    NS    ai4pc150.aulaI4.com.

150.1.168.192.in-addr.arpa.    IN    PTR    ai4pc150.aulaI4.com.
150.1.168            IN    PTR    ai4pc150.aulaI4.com.

101.1.168            IN    PTR    ai4pc101.aulaI4.com.
102.1.168            IN    PTR    ai4pc102.aulaI4.com.
103.1.168            IN    PTR    ai4pc103.aulaI4.com.
104.1.168            IN    PTR    ai4pc104.aulaI4.com.
105.1.168            IN    PTR    ai4pc105.aulaI4.com.
106.1.168            IN    PTR    ai4pc106.aulaI4.com.
107.1.168            IN    PTR    ai4pc107.aulaI4.com.
108.1.168            IN    PTR    ai4pc108.aulaI4.com.
109.1.168            IN    PTR    ai4pc109.aulaI4.com.
110.1.168            IN    PTR    ai4pc110.aulaI4.com.
111.1.168            IN    PTR    ai4pc111.aulaI4.com.
112.1.168            IN    PTR    ai4pc112.aulaI4.com.
113.1.168            IN    PTR    ai4pc113.aulaI4.com.
114.1.168            IN    PTR    ai4pc114.aulaI4.com.
115.1.168            IN    PTR    ai4pc115.aulaI4.com.



profes@AI4PC150:~$ named-checkzone 192.in-addr.arpa /etc/bind/db.192
zone 192.in-addr.arpa/IN: loaded serial 2013102301
OK

profes@AI4PC150:~$ sudo service bind9 restart