[RISOLTO]Chiave RSA per shell SSH

Installazione, configurazione e uso di Ubuntu come server: web, ftp, mail, news, proxy, dns e altro.
Scrivi risposta
pres961
Prode Principiante
Messaggi: 125
Iscrizione: mercoledì 3 aprile 2013, 21:03
Desktop: ubuntu
Distribuzione: Ubuntu 14.04.03 LTS
Sesso: Maschile

[RISOLTO]Chiave RSA per shell SSH

Messaggio da pres961 »

Buona sera ragazzi da poco più di un mese ho messo su un server dotato di servizi quali l'SFTP, il web server, file sharing con samba, ed SSH. Proprio di quest'ultimo ho un grosso problema nel senso che purtroppo ultimamente sono costantemente sotto attacco di potenziali hacher che tentano di collegarsi al server che purtroppo non posso spegnere. Preciso inoltre che dovrei effettuare connessione SSH da remoto quasi esclusivamente da client windows tramite la suite Putty. Tutto ciò avviene poichè la trasmissione in questione avviene in chiaro perchè nonostante innumerevoli tentativi e innumerevoli guide non sono ancora riuscito a configurare l'accesso tramite una coppia RSA. Vi chiedo davvero una mano perchè sto impazzendo come configurarla. Preciso inoltre che in teoria dovrebbe accedere all'SSH solo l'utente master e dopodichè una volta acceduto eventualmente fare il passaggio ad utente root.
Ultima modifica di pres961 il martedì 12 novembre 2013, 18:13, modificato 1 volta in totale.
IT Admin presso Ospedale di Bologna
Virtualizzazione, file sharing, proxy server, mail server all'ordine del giorno
Avatar utente
frooker
Prode Principiante
Messaggi: 113
Iscrizione: mercoledì 31 ottobre 2012, 10:29
Desktop: gnome lxde
Distribuzione: ubuntu debian wheezy archlinux

Re: Chiave RSA per shell SSH

Messaggio da frooker »

Ti consiglio di procedere per gradi.

Prima di utilizzare le chiavi, accertati che ssh ti funzioni con semplice accesso con password.
Se no, verifica il file di configurazione lato SERVER del demone SSH che si trova in /etc/ssh/sshd_config
I parametri importanti sono:
1. la porta di ascolto che di default è la 22, ma che è opportuno cambiare per ragioni di sicurezza, scegliendone una alta.
2. l'utilizzo del protocollo 2
3. e non permettere il login da root. Setta: PermitRootLogin no . E' sempre bene connettersi come utente.

Controlla che il server ssh sia attivo, dai:

Codice: Seleziona tutto

sudo service ssh status
Se no avvialo con:

Codice: Seleziona tutto

sudo service ssh start
Accertati che la porta in ascolto non sia bloccata da un firewall, altrimenti aprila.

Dai anche:

Codice: Seleziona tutto

ss -untap
per vedere i servizi in ascolto.

Se tutto è a posto puoi pensare alle chiavi.
pres961
Prode Principiante
Messaggi: 125
Iscrizione: mercoledì 3 aprile 2013, 21:03
Desktop: ubuntu
Distribuzione: Ubuntu 14.04.03 LTS
Sesso: Maschile

Re: Chiave RSA per shell SSH

Messaggio da pres961 »

Il servizio SSH è tutto perfettamente funzionante tramite utente e password ed ho già disattivato l'accesso direttamente come root
IT Admin presso Ospedale di Bologna
Virtualizzazione, file sharing, proxy server, mail server all'ordine del giorno
pres961
Prode Principiante
Messaggi: 125
Iscrizione: mercoledì 3 aprile 2013, 21:03
Desktop: ubuntu
Distribuzione: Ubuntu 14.04.03 LTS
Sesso: Maschile

Re: Chiave RSA per shell SSH

Messaggio da pres961 »

Ma questo già da tempo, solo che nelle ultime due settimane non so come sono riusciti a sniffare la mia password ed ogni tanto accedono all'ssh. Ho cambiato password e per qualche giorno sembrava a posto poi di nuovo da capo. Premetto che solo io sono a conoscenza della password del server in teoria. Ho ricambiato la password ed ora ogni sera praticamente la cambio però cercando in internet ho trovato la soluzione tramite l'RSA solo che non riesco a metterla in pratica
IT Admin presso Ospedale di Bologna
Virtualizzazione, file sharing, proxy server, mail server all'ordine del giorno
Avatar utente
frooker
Prode Principiante
Messaggi: 113
Iscrizione: mercoledì 31 ottobre 2012, 10:29
Desktop: gnome lxde
Distribuzione: ubuntu debian wheezy archlinux

Re: Chiave RSA per shell SSH

Messaggio da frooker »

Bene :)

Se hai intenzione di utilizzare putty devi generare una coppia di chiavi con l'utility PuTTYgen.
Il concetto generale è che la chiave pubblica deve risiedere sul server in /home/UTENTE/.ssh/authorized_keys.
All'interno del file authorized_keys andrà copiata la chiave pubblica generata con puttygen.

La chiave privata invece starà sulla macchina locale, lasciala all'intero della cartella di putty.

Per orientarti segui le indicazioni molto chiare di questa guida.
Come usare Putty per connettersi ad una machina linux con chiavi SSH

;)
pres961
Prode Principiante
Messaggi: 125
Iscrizione: mercoledì 3 aprile 2013, 21:03
Desktop: ubuntu
Distribuzione: Ubuntu 14.04.03 LTS
Sesso: Maschile

Re: Chiave RSA per shell SSH

Messaggio da pres961 »

Grazie mille,
domani pomeriggio mi metterò subito al lavoro! :) Direi che è abbastanza semplice dai speriamo di riuscirci.
IT Admin presso Ospedale di Bologna
Virtualizzazione, file sharing, proxy server, mail server all'ordine del giorno
Avatar utente
frooker
Prode Principiante
Messaggi: 113
Iscrizione: mercoledì 31 ottobre 2012, 10:29
Desktop: gnome lxde
Distribuzione: ubuntu debian wheezy archlinux

Re: Chiave RSA per shell SSH

Messaggio da frooker »

in ogni caso cambia la porta di ascolto sul server ssh.
La 22 è tempestata di attacchi.
;)
pres961
Prode Principiante
Messaggi: 125
Iscrizione: mercoledì 3 aprile 2013, 21:03
Desktop: ubuntu
Distribuzione: Ubuntu 14.04.03 LTS
Sesso: Maschile

Re: Chiave RSA per shell SSH

Messaggio da pres961 »

Se non ricordo male devo usare sopra alla 1023 perchè prima sono utilizzate da servizi noti giusto?
IT Admin presso Ospedale di Bologna
Virtualizzazione, file sharing, proxy server, mail server all'ordine del giorno
Avatar utente
frooker
Prode Principiante
Messaggi: 113
Iscrizione: mercoledì 31 ottobre 2012, 10:29
Desktop: gnome lxde
Distribuzione: ubuntu debian wheezy archlinux

Re: Chiave RSA per shell SSH

Messaggio da frooker »

Sì, usane una a piacere molto alta.

Ricordati una volta abilitate le chiavi di disabilitare nel file di configurazione del demone l'accesso con password.
Settando:
PasswordAuthentication no
Avatar utente
Alien321
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1390
Iscrizione: sabato 20 maggio 2006, 20:39
Desktop: KDE 5.16.4
Distribuzione: KDE Neon
Località: Venere

Re: Chiave RSA per shell SSH

Messaggio da Alien321 »

Si ma se ti hanno gia bucato il server devi prendere e reinstallare tutto, chissa quanti rootkit di hanno messo anche solo con la passwrd di utente...
Spoiler
Mostra
Finalmente è finito carnevale, anche se vedo ancora gente in maschera
pres961
Prode Principiante
Messaggi: 125
Iscrizione: mercoledì 3 aprile 2013, 21:03
Desktop: ubuntu
Distribuzione: Ubuntu 14.04.03 LTS
Sesso: Maschile

Re: Chiave RSA per shell SSH

Messaggio da pres961 »

Help me continua a chiedermi username e password! Cosa sbaglio?

Codice: Seleziona tutto

# Package generated configuration file
# See the sshd_config(5) manpage for details

# What ports, IPs and protocols we listen for
Port 22
# Use these options to restrict which interfaces/protocols sshd will bind to
#ListenAddress ::
#ListenAddress 0.0.0.0
Protocol 2
# HostKeys for protocol version 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
#Privilege Separation is turned on for security
UsePrivilegeSeparation yes

# Lifetime and size of ephemeral version 1 server key
KeyRegenerationInterval 3600
ServerKeyBits 768

# Logging
SyslogFacility AUTH
LogLevel INFO

# Authentication:
LoginGraceTime 120
PermitRootLogin no
StrictModes yes

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile	home/master/.ssh/authorized_keys

# Don't read the user's ~/.rhosts and ~/.shosts files
IgnoreRhosts yes
# For this to work you will also need host keys in /etc/ssh_known_hosts
RhostsRSAAuthentication no
# similar for protocol version 2
HostbasedAuthentication no
# Uncomment if you don't trust ~/.ssh/known_hosts for RhostsRSAAuthentication
#IgnoreUserKnownHosts yes

# To enable empty passwords, change to yes (NOT RECOMMENDED)
PermitEmptyPasswords no

# Change to yes to enable challenge-response passwords (beware issues with
# some PAM modules and threads)
ChallengeResponseAuthentication no

# Change to no to disable tunnelled clear text passwords
#PasswordAuthentication no

# Kerberos options
#KerberosAuthentication no
#KerberosGetAFSToken no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes

# GSSAPI options
#GSSAPIAuthentication no
#GSSAPICleanupCredentials yes

X11Forwarding yes
X11DisplayOffset 10
PrintMotd no
PrintLastLog yes
TCPKeepAlive yes
#UseLogin no

#MaxStartups 10:30:60
#Banner /etc/issue.net

# Allow client to pass locale environment variables
AcceptEnv LANG LC_*

Subsystem sftp /usr/lib/openssh/sftp-server

# Set this to 'yes' to enable PAM authentication, account processing,
# and session processing. If this is enabled, PAM authentication will
# be allowed through the ChallengeResponseAuthentication and
# PasswordAuthentication.  Depending on your PAM configuration,
# PAM authentication via ChallengeResponseAuthentication may bypass
# the setting of "PermitRootLogin without-password".
# If you just want the PAM account and session checks to run without
# PAM authentication, then enable this but set PasswordAuthentication
# and ChallengeResponseAuthentication to 'no'.
UsePAM yes
IT Admin presso Ospedale di Bologna
Virtualizzazione, file sharing, proxy server, mail server all'ordine del giorno
Avatar utente
frooker
Prode Principiante
Messaggi: 113
Iscrizione: mercoledì 31 ottobre 2012, 10:29
Desktop: gnome lxde
Distribuzione: ubuntu debian wheezy archlinux

Re: Chiave RSA per shell SSH

Messaggio da frooker »

Prima cosa. Hai stoppato e riavviato il servizio ssh ?

Codice: Seleziona tutto

sudo service ssh restart
Secondo. Controlla che la chiave pubblica che hai copiato in ~/.ssh/authorized_keys sia tutta su una sola riga senza spazi vuoti e a capo. Un solo spazio vuoto lo devi lasciare dopo ssh-rsa chiavesuunasolariga, esempio:

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAyOd10RQ3EiB42DjRVY8trXS1NH4jbURQPERr2LHCCYq6tHHs+.................. tutta su una sola riga
pres961
Prode Principiante
Messaggi: 125
Iscrizione: mercoledì 3 aprile 2013, 21:03
Desktop: ubuntu
Distribuzione: Ubuntu 14.04.03 LTS
Sesso: Maschile

Re: Chiave RSA per shell SSH

Messaggio da pres961 »

Ora sembrerebbe andare ma una volta che avvio la connessione mi restituisce un errore dove dice che il server ha rifiutato la mia connessione! Dopo mi si apre una schermata dove dice che il server ha spedito una chiave pubblica! Guardando nel file authorized_key noto però che in realtà uno spazio c'è alla fine dopo i due uguali c'è un rsa=.... ma ho notato che quando genero la password con puttygen anche li mi compaiono! Non credo sia un errore di creazione della password! Una domanda al volo stupida io mando la private key al server giusto?
IT Admin presso Ospedale di Bologna
Virtualizzazione, file sharing, proxy server, mail server all'ordine del giorno
nottambulo
Prode Principiante
Messaggi: 25
Iscrizione: mercoledì 30 ottobre 2013, 21:23
Desktop: kDE
Distribuzione: Kubuntu 18.04 x86_64
Sesso: Maschile

Re: Chiave RSA per shell SSH

Messaggio da nottambulo »

Io comincerei a decommentare:

Codice: Seleziona tutto

#PasswordAuthentication no
e poi un restart
Kubuntu 18.04.2 LTS 64Bit
"A volte è meglio tacere e sembrare stupidi che aprir bocca e togliere ogni dubbio. - Oscar Wilde"
https://maclinux.it
pres961
Prode Principiante
Messaggi: 125
Iscrizione: mercoledì 3 aprile 2013, 21:03
Desktop: ubuntu
Distribuzione: Ubuntu 14.04.03 LTS
Sesso: Maschile

Re: Chiave RSA per shell SSH

Messaggio da pres961 »

Quello era già settato su no! Il problema che io passandogli la chiave private mi ritorna che il server ha rifiutato la mia key
IT Admin presso Ospedale di Bologna
Virtualizzazione, file sharing, proxy server, mail server all'ordine del giorno
Avatar utente
frooker
Prode Principiante
Messaggi: 113
Iscrizione: mercoledì 31 ottobre 2012, 10:29
Desktop: gnome lxde
Distribuzione: ubuntu debian wheezy archlinux

Re: Chiave RSA per shell SSH

Messaggio da frooker »

Scorrendo il tuo file di configurazione del demone ssh, mi sono accorto che al punto AuthorizedKeysFiile, tu hai messo:

Codice: Seleziona tutto

AuthorizedKeysFile   home/master/.ssh/authorized_keys
che è sbagliato.
Se devi indicare il path assoluto devi mettere:

Codice: Seleziona tutto

AuthorizedKeysFile   /home/master/.ssh/authorized_keys
con lo slash davanti alla home.
... master, naturalmente deve essere il tuo nome utente. :)

Al limite puoi anche commentare quella opzione, perché di default già punta alla .ssh/authorized_keys della tua home utente.
pres961
Prode Principiante
Messaggi: 125
Iscrizione: mercoledì 3 aprile 2013, 21:03
Desktop: ubuntu
Distribuzione: Ubuntu 14.04.03 LTS
Sesso: Maschile

Re: Chiave RSA per shell SSH

Messaggio da pres961 »

Nulla ancora continua a darmi lo stesso errore. Il server rifiuta la mia chiave.
Allego i due file di configurazione: sshd_config

Codice: Seleziona tutto

# Package generated configuration file
# See the sshd_config(5) manpage for details

# What ports, IPs and protocols we listen for
Port 22
# Use these options to restrict which interfaces/protocols sshd will bind to
#ListenAddress ::
#ListenAddress 0.0.0.0
Protocol 2
# HostKeys for protocol version 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
#Privilege Separation is turned on for security
UsePrivilegeSeparation yes

# Lifetime and size of ephemeral version 1 server key
KeyRegenerationInterval 3600
ServerKeyBits 768

# Logging
SyslogFacility AUTH
LogLevel INFO

# Authentication:
LoginGraceTime 120
PermitRootLogin no
StrictModes yes

RSAAuthentication yes
PubkeyAuthentication yes
#AuthorizedKeysFile	/home/master/.ssh/authorized_keys

# Don't read the user's ~/.rhosts and ~/.shosts files
IgnoreRhosts yes
# For this to work you will also need host keys in /etc/ssh_known_hosts
RhostsRSAAuthentication no
# similar for protocol version 2
HostbasedAuthentication no
# Uncomment if you don't trust ~/.ssh/known_hosts for RhostsRSAAuthentication
#IgnoreUserKnownHosts yes

# To enable empty passwords, change to yes (NOT RECOMMENDED)
PermitEmptyPasswords no

# Change to yes to enable challenge-response passwords (beware issues with
# some PAM modules and threads)
ChallengeResponseAuthentication no

# Change to no to disable tunnelled clear text passwords
PasswordAuthentication no

# Kerberos options
#KerberosAuthentication no
#KerberosGetAFSToken no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes

# GSSAPI options
#GSSAPIAuthentication no
#GSSAPICleanupCredentials yes

X11Forwarding yes
X11DisplayOffset 10
PrintMotd no
PrintLastLog yes
TCPKeepAlive yes
#UseLogin no

#MaxStartups 10:30:60
#Banner /etc/issue.net

# Allow client to pass locale environment variables
AcceptEnv LANG LC_*

Subsystem sftp /usr/lib/openssh/sftp-server

# Set this to 'yes' to enable PAM authentication, account processing,
# and session processing. If this is enabled, PAM authentication will
# be allowed through the ChallengeResponseAuthentication and
# PasswordAuthentication.  Depending on your PAM configuration,
# PAM authentication via ChallengeResponseAuthentication may bypass
# the setting of "PermitRootLogin without-password".
# If you just want the PAM account and session checks to run without
# PAM authentication, then enable this but set PasswordAuthentication
# and ChallengeResponseAuthentication to 'no'.
UsePAM yes
e qui sotto invece l'ssh_config

Codice: Seleziona tutto

# This is the ssh client system-wide configuration file.  See
# ssh_config(5) for more information.  This file provides defaults for
# users, and the values can be changed in per-user configuration files
# or on the command line.

# Configuration data is parsed as follows:
#  1. command line options
#  2. user-specific file
#  3. system-wide file
# Any configuration value is only changed the first time it is set.
# Thus, host-specific definitions should be at the beginning of the
# configuration file, and defaults at the end.

# Site-wide defaults for some commonly used options.  For a comprehensive
# list of available options, their meanings and defaults, please see the
# ssh_config(5) man page.

Host *
#   ForwardAgent no
#   ForwardX11 no
#   ForwardX11Trusted yes
#   RhostsRSAAuthentication no
   RSAAuthentication yes
   PasswordAuthentication no
#   HostbasedAuthentication no
#   GSSAPIAuthentication no
#   GSSAPIDelegateCredentials no
#   GSSAPIKeyExchange no
#   GSSAPITrustDNS no
#   BatchMode no
#   CheckHostIP yes
#   AddressFamily any
#   ConnectTimeout 0
#   StrictHostKeyChecking ask
#   IdentityFile ~/.ssh/identity
#   IdentityFile ~/.ssh/id_rsa
#   IdentityFile ~/.ssh/id_dsa
#   Port 22
#   Protocol 2,1
#   Cipher 3des
#   Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc
#   MACs hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160
#   EscapeChar ~
#   Tunnel no
#   TunnelDevice any:any
#   PermitLocalCommand no
#   VisualHostKey no
#   ProxyCommand ssh -q -W %h:%p gateway.example.com
    SendEnv LANG LC_*
    HashKnownHosts yes
    GSSAPIAuthentication yes
    GSSAPIDelegateCredentials no
IT Admin presso Ospedale di Bologna
Virtualizzazione, file sharing, proxy server, mail server all'ordine del giorno
pres961
Prode Principiante
Messaggi: 125
Iscrizione: mercoledì 3 aprile 2013, 21:03
Desktop: ubuntu
Distribuzione: Ubuntu 14.04.03 LTS
Sesso: Maschile

Re: Chiave RSA per shell SSH

Messaggio da pres961 »

Ragazzi finalmente ho risolto era un problema nel file di configurazione più precisamente alla riga dove viene specificato dove è contenuto il file authorized_keys che a differenza di come mi è stato consigliato va assolutamente decommentato in quanto altrimenti va a pescare in quello di root!
IT Admin presso Ospedale di Bologna
Virtualizzazione, file sharing, proxy server, mail server all'ordine del giorno
Scrivi risposta

Ritorna a “Ubuntu su server”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 1 ospite