Questa è una vecchia versione del documento!
abilito il login da root sulla vm da console
sed -i s/without-password/yes/g /etc/ssh/sshd_config && systemctl restart ssh
Installo il software
Per installare i servizi necessari lanciare il comando
apt-get install openvpn autossh -y
OPENVPN:
Presupponendo presente sulla vm la cartella Vpn con all'interno le configurazioni openvpn, passo a copiare i file per l'avvio:
cp -rv /root/Vpn/openvpn/apv/* /etc/openvpn cp /root/Vpn/openvpn/apv/client.ovpn /etc/openvpn/apv.conf systemctl daemon-reload
vim /etc/systemd/system/openvpn@apv.service
[Unit] Description=OpenVPN connection to %i PartOf=openvpn.service ReloadPropagatedFrom=openvpn.service [Service] Type=forking ExecStart=/usr/sbin/openvpn --daemon ovpn-%i --status /run/openvpn/%i.status 10 --cd /etc/openvpn --config /etc/openvpn/%i.conf ExecReload=/bin/kill -HUP $MAINPID WorkingDirectory=/etc/openvpn [Install] WantedBy=multi-user.target
Abilito il servizio all'avvio:
systemctl enable openvpn@apv.service
AUTOSSH:
aggiungo l'utente:
useradd -m -s /bin/false autossh
* creo il file config di ssh (esempio preso da apv): *
Host autportven-prod HostName 10.0.20.30 Port 22 User extraway Localforward 8080 localhost:8080 Localforward 5432 localhost:5432 Localforward 19080 10.0.20.31:8080 Localforward 13306 10.0.20.31:3306
creo le chiavi:
su -s /bin/bash autossh ssh-keygen -t rsa
copio le chiavi sul server prod del cliente:
scp id_rsa.pub extraway@10.0.20.30:/tmp
aggiungo in coda la chiave fra quelle autorizzate:
cat /tmp/id_rsa.pub » /home/extraway/.ssh/authorized_keys
cancello la chiave copiata:
rm -f /tmp/id_rsa.pub
configuro il mapping delle porte ssh:
su -s /bin/bash autossh vim .ssh/config
Host autportven-prod HostName 10.0.20.30 Port 22 User extraway Localforward 8080 localhost:8080 Localforward 5432 localhost:5432 Localforward 19080 10.0.20.31:8080 Localforward 13306 10.0.20.31:3306
controllo che il collegamento funzioni e mappi le porte regolarmente:
su -s /bin/bash autossh ssh -g extraway@autportven-prod
root@VPN-APV:~# netstat -an |egrep '8080|5432|19080|13306'|egrep -v tcp6 tcp 0 0 0.0.0.0:9080 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:5432 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN
creo il file di avvio di autossh in systemd:
root@VPN-APV:/etc/systemd/system# vim /etc/systemd/system/3dautossh.service
[Unit] Description=AutoSSH service Wants=sys-devices-virtual-net-tun0.device After=sys-devices-virtual-net-tun0.device [Service] ExecStart=/usr/bin/autossh -M 8080 -v -q -N -o "ServerAliveInterval 60" -o "ServerAliveCountMax 3" extraway@autportven-prod -i /home/autossh/.ssh/id_rsa -g [Install] WantedBy=multi-user.target
testo lo script prima di abilitarlo:
root@VPN-APV:/etc/openvpn# systemctl start 3dautossh.service root@VPN-APV:/etc/openvpn# systemctl status 3dautossh.service -l ● 3dautossh.service - AutoSSH service Loaded: loaded (/etc/systemd/system/3dautossh.service; enabled) Active: active (running) since gio 2016-03-31 15:25:50 CEST; 12s ago Main PID: 778 (autossh) CGroup: /system.slice/3dautossh.service ├─778 /usr/lib/autossh/autossh -M 8080 -q -N -o ServerAliveInterval 60 -o ServerAliveCountMax 3 extraway@autportven-prod -i /home/autossh/.ssh/id_rsa -g └─781 /usr/bin/ssh -L 8080:127.0.0.1:8080 -R 8080:127.0.0.1:8081 -q -N -o ServerAliveInterval 60 -o ServerAliveCountMax 3 -i /home/autossh/.ssh/id_rsa -g extraway@autportven-prod mar 31 15:25:50 VPN-APV autossh[778]: starting ssh (count 1) mar 31 15:25:50 VPN-APV autossh[778]: ssh child pid is 781
*controllo le porte: *
netstat -an |egrep '8080|5432|19080|13306'|egrep -v tcp6 tcp 0 0 0.0.0.0:5432 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:13306 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:19080 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN
abilito il servizio in autostart:
systemctl enable 3dautossh