PDA

Visualizza la versione completa : Shh senza pwd, utilizzando le chiavi pubbliche.


dk_giuse89
09-06-2010, 11:34
Il titolo abbastanza esplicativo per cui vado al punto.

Server a cui voglio connettermi evitando di inserire la psd il seguente 192.168.10.1


Ora la procedura che ho seguito la seguente, sul server creo la chiave di autentificazione.

root@OpenWrt:~/.ssh# ssh-keygen -b 2048 -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
3e:71:82:c2:a1:fc:8b:d6:f4:d3:29:57:7c:05:0c:fe root@OpenWrt
The key's randomart image is:
+--[ RSA 2048]----+
| .o |
| . o |
| . . . |
| . o . . . . |
| o o . S.. E. |
| ... . +o . |
| o.. .oo . |
| ....+ +. |
| .. . + |
+-----------------+

Terminata la fase di crezione della chiave, devo copiare la chiave appena creata avente generalmente un nome tipo xxxx.pub e copiarla nella path .ssh della home dell'utente, del pc "client".


scp /root/.ssh/id_rsa.pub giuse@ebook:/home/giuse/.ssh

Terminata questa fase quando provo a connettermi mi viene ancora chiesta la pwsd.
Dove sbaglio?

untamed
09-06-2010, 13:05
devi copiare la chiave nel file authorized_keys dell'host a cui vuoi connetterti, comunque ci sono un sacco di guide in giro per internet che ti possono essere d'aiuto.

detroit
09-06-2010, 17:32
scp /root/.ssh/id_rsa.pub giuse@ebook:/home/giuse/.ssh/authoryzed_keys

chmod 600 /home/giuse/.ssh/authoryzed_keys

poi in /etc/ssh/sshd_config
decommenta

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keys

riavvia sshd

dk_giuse89
09-06-2010, 21:29
Originariamente inviato da detroit
scp /root/.ssh/id_rsa.pub giuse@ebook:/home/giuse/.ssh/authoryzed_keys

chmod 600 /home/giuse/.ssh/authoryzed_keys

poi in /etc/ssh/sshd_config
decommenta

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keys

riavvia sshd

Ciao, ho esteguito alla lettera tutto, ma mi viene ancora chiesta la pwsd.
Non avendo altre authoryzed_key ne calcolo gli md5sum che come mi aspetto sono identici:

Sul "client"

giuse@ebook:~/.ssh$ md5sum authoryzed_keys
5c82d41f3dd46c04ed16da785f1da245 authoryzed_keys



Sul "server"

root@OpenWrt:~# md5sum /root/.ssh/id_rsa.pub
5c82d41f3dd46c04ed16da785f1da245 /root/.ssh/id_rsa.pub
root@OpenWrt:~#

Ecco un cat di cat /etc/ssh/sshd_config del file del client.


# 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
#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 yes
StrictModes yes

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile %h/.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 yes

# 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



Ecco i permessi dei file in .ssh

giuse@ebook:~/.ssh$ ls -Al
totale 12
-rw------- 1 giuse giuse 394 9 giu 21.13 authoryzed_keys
-rw-r--r-- 1 giuse giuse 6490 7 giu 10.20 known_hosts
giuse@ebook:~/.ssh$


DOVE E' IL PROBLEMA????

untamed
11-06-2010, 12:23
scusa ma come passphrase non hai messo niente, vero?

detroit
12-06-2010, 17:02
Devi riavviare il demone sshd.

mxa
13-06-2010, 00:22
Secondo me stai facendo il contrario.

Nel client crei la coppia di chiavi, ottenendo chiave pubblica e privata.
Poi ti loggi sul server e copi il contenuto della chiave pubblica in coda a ~/.ssh/authorized_keys (nella home dell'utente con cui ti vuoi loggare.

Cosi' dovrebbe andare.

Cioe' sei te che devi dare al server la tua chiave pubblica, non viceversa.

christian70
23-06-2010, 09:44
Innanzitutto se devi copiare la tua chiave sull'host remoto, devi modificare il file /etc/ssh/sshd_config presente sul server in questo modo:
RSAAuthentication no
PasswordAuthentication yes

salva e service sshd restart (riavvia il server ssh)

poi ti sposti sul client e nella directory dove c' la tua chiave e copi la chiave sul server in questo modo senza che ti sovrascriva altre eventuali chiavi:
ssh-copy-id -i id_rsa.pub utenteserver@tuoserver

qui ti verr chiesta la password, la password che devi inserire la password che ti da accesso al server e non la CHIAVE!!!

Cmq per una maggior chiarezza ti consiglio questa guida dove spiegata la procedura passo passo:
http://www.ilmiopinguino.it/guide/55-configurare-il-server-ssh.html

Ciao Christian

Loading