mercoledì 20 gennaio 2021

Error access ssh

Se collegandovi in SSH a vecchi sistemi legacy, dovesse apparire nel terminale questo errore:

no matching key exchange method found. Their offer: diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1

è necessario editare il file config di ssh.

editare /home/emy/.ssh/config

se il file config non dovesse essere presente è necessario crearlo

aggiungere queste righe:

Host ip address a cui ci si vuole connettere

    KexAlgorithms +diffie-hellman-group1-sha1


es.

Host 192.168.1.1

    KexAlgorithms +diffie-hellman-group1-sha1

salvare e uscire.

Nel caso si voglia anche fare accesso senza inserire la password è necessario copiare la propria chiave SSH.  Verificare se sotto ~/.ssh$ sono presenti i file id_rsa e id_rsa.pub, se non fossero presenti crearli con:

~/.ssh$ ssh-keygen

Adesso dobbiamo copiare la chiave ssh, ci sono due metodi:

1° metodo

~/.ssh$ ssh-copy-id -i id_rsa.pub root@192.168.1.1

2° metodo

copiare il contenuto di id_rsa.pub e copiarlo all'interno del file 

/root/.ssh/authorized_keys

giovedì 8 novembre 2018

TLS negotiation failed

Se dopo un aggiornamento della vostra distro, all'improvviso non dovesse più funzionare la vostra connessione OpenVPN, il vostro client Owncloud, la vostra connessione WIFI Enterprise o la vostra connessione RDP tramite Remmina; probabilmente vi è capitato ciò che è successo a me./

Partiamo con un troubleshotting sulla nostra connessione OpenVPN:/
Da terminale/

sudo openvpn /home/emy/OPenVPN/test.conf

OpenVPN 2.4.6 x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [PKCS11] [MH/PKTINFO] [AEAD] built on Jul 30 2018

library versions: OpenSSL 1.1.1 11 Sep 2018, LZO 2.10

Enter Auth Username: emy

Enter Auth Password: ********

WARNING: No server certificate verification method has been enabled. See http://openvpn.net/howto.html#mitm for more info.

TCP/UDP: Preserving recently used remote address: [AF_INET]81.xxx.xxx.xxx:1194

UDP link local: (not bound)

UDP link remote: [AF_INET]81.xxx.xxx.xxx:1194

UID/GID downgrade will be delayed because of --client, --pull, or --up-delay

TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)

TLS Error: TLS handshake failed



Continuiamo con una connessione RDP con Remmina



Quello che ne esce è che il protocollo TLS (Transport Layer Security) non è compatibile con il server o viceversa.

Nel mio caso, l'aggiornamento della distro a portato all'aggiornamento di OPENSSL e del suo file di configurazione, impostando la versione minima a TLSv1.2, ma se dall'altra parte questa versione non è supportata, si viene a creare un fallimento nella negozazione.

Risoluzione:
editare /etc/ssl/openssl.cnf
andare in fondo al file e modificare:
MinProtocol = TLSv1.2

impostare:
MinProtocol = TLSv1.0



venerdì 6 luglio 2018

Create and Restore Raid Software Linux

Se su un server abbiamo a disposizione due dischi, il modo migliore per avere una ridondanza e quindi un backup è creare un Raid. Esistono Raid di tipo Hardware e Software.
Nel nostro caso vedremo come creare un Raid 1 software.
Raid 1 vuol dire che i dati saranno scritti su entrambi i dischi, ma lo spazio a disposizione è di un solo disco. Si consiglia di utilizzare dischi della stessa capacità, o il Raid prenderà come riferimento il disco più piccolo.

Verifica delle partizioni:
#ls -ltra /dev/sd*
brw-rw---- 1 root disk 8, 16 Apr  7 10:42 /dev/sdb
brw-rw---- 1 root disk 8, 17 Apr  7 10:42 /dev/sdb1
brw-rw---- 1 root disk 8,  0 Apr  7 10:55 /dev/sda
brw-rw---- 1 root disk 8,  1 Apr  7 10:57 /dev/sda1

Se sono dischi usati in precedenza per altri Raid, dare:
#mdadm --zero-superblock /dev/sda1
#mdadm --zero-superblock /dev/sdb1

Creazione del raid:
#mdadm --create --verbose --assume-clean --level=1 --raid-devices=2 /dev/md0 /dev/sda1 /dev/sda2

  • --verbose = aumenta la verbosità sull'output d'uscita
  • --assume-clean = evita che l’array venga ricostruito e quindi fatto il resync. Su partizioni di grandi dimensioni può metterci molto tempo. E’ da utilizzare solo per la creazione di nuovi array vuoti
  • --level = indica che tipo di Raid si utilizza, nel nostro caso è un Raid1
  • --raid-devices = indica quanti devices fanno parte del Raid
  • /dev/md0 = indica il nome del device che punterà al nuovo array
  • /dev/sda1 /dev/sdb1/ = sono le partizione che andranno a formare il nuovo array
Per visualizzare la creazione del Raid:
#cat /proc/mdstat 
Personalities : [raid1] 
md0 : active raid1 sda1[2] sdb1[1]
      204736 blocks super 1.2 [2/2] [UU]
     
L'assegnazione del comando bitmap permette la ricostruzione del Raid più velocemente:
#mdadm --grow --bitmap=internal /dev/md0




lunedì 12 marzo 2018

Ansible

Ansible è un programma utilissimo di automazione per eseguire comandi, configurare sistemi o distribuire software su più server contemporaneamente.
A tutti sarà capitato di dover dare lo stesso comando su più server e doversi continuamente loggare e lanciare il comando manualmente; ansible risolve questo tipo di problema.

Ansible è presente nella maggiori distribuzioni, l'installazione:
#apt-get install ansible
#yum install ansible

Creare una directory nella propria /home chiamata "ansible"
$mkdir ansible
Creare un file ansible.cfg,
~/ansible$touch ansible.cfg
~/Ansible$cat ansible.cfg
[defaults]
inventory=/home/pippo/hosts
remote_user=pippo


Se si lancia ansible dal percorso dove abbiamo creato la directory,
avrà un peso maggiore il file creato .cfg, piuttosto che il .cfg che si trova sotto /etc



~/Ansible$ ansible virtualmachine*.domino.local -b -m shell -a 'ls /root'
virtualmachine indica che andremo ad agire su tutti i server che iniziano per virtualmachine, la variabile -b indica l'accesso con sudo, la variabile -m indica il modulo utilizzato, -a il comando all'interno del modulo.
Con il comando richiesto, ci verrà restituito un output con tutte le /root presenti nei server richiesti.

martedì 13 febbraio 2018

Monitorare risorse con Conky

Una delle cose più belle che offre Linux è quella di poter monitorare le nostre risorse con programmi estremamente custom.
Uno dei programmi più versatili è Conky.
Per installarlo, da root:
apt-get install conky   (Ubuntu e derivate)
yum install conky (CentOS)
A questo punto non basta far altro che creare nella propria /home un file nascosto
touch .conkyrc
A questo punto ci sono tantissimi siti che offrono soluzioni già pronte da copiare all'interno di conkyrc, una customizzata da me è scaricabile al seguente link conkyrc
Il monitor che avrete sarà:


venerdì 29 dicembre 2017

Skype per Linux

Al seguente indirizzo è disponibile l’ultima versione di Skype

download skype

Tramite console andare nella directory dove si è salvato il file.
A seconda che si sia scaricato il file .deb o .rpm
dare i comandi:
#sudo dpkg -i skypeforlinux-64.deb
#sudo rpm -i skypeforlinux-64.rpm

Visto che il corretto funzionamento dipende anche dall’ambiente grafico installato, potrebbe accadere che se si utilizza KDE alcuni pacchetti o servizi non siano installati, questo comporta che ad ogni avvio vengano richieste le credenziali e la configurazione.
Verificare che siano installati i pacchetti:
gnome-keyring e libgnome-keyring0

#dpkg -l | grep gnome-keyring
ii  gnome-keyring 3.20.1-2 amd64 GNOME keyring services (daemon and tools)
ii  libgnome-keyring-common 3.12.0-1 all GNOME keyring services library - data files
ii  libgnome-keyring0:amd64  3.12.0-1+b2 amd64 GNOME keyring services library

Se questi pacchetti non dovessero esserci, dare i comandi:
#sudo apt-get install gnome-keyring libgnome-keyring0

#sudo yum install gnome-keyring libgnome-keyring0

Cancellare file per data

Spostarsi nella directory su cui agire
Per visualizzare i file per data dare il comando:
ls -ltrh
se i file sono numerosi, dare:
ls -ltrh | more
Per cancellare i file più vecchi di una data e ora specifica:
find . -name "*.php" -not -newermt "2017-09-30 1000" -exec rm {} \;

 il comando cercherà tutti i file con estensione .php
l'opzione newermt filtra i file più recenti di una certa data
l'opzione not inverte il senso, ottenendo i file più vecchi della data impostata.
la data imposta indica: anno-mese-giorno ore minuti
l'opzione exec, esegue il comando rm

TCP MSS

L'MSS (Maximum segment size) è un parametro TCP che indica la quantità massima di paylod (unità di misura byte) che un dispositivo di co...