Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
5274 connectés 

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

ssh sans password

n°639188
weed
Posté le 19-02-2005 à 23:06:59  profilanswer
 

voilou, j'aimerais ne plus tapé de mot de passe sur mon ssh client pour me faire des script.
 
Pour cela sur mon client, j'ai généré un couple de clé privé/public dans le fichier toto
 
ssh-keygen -t dsa -f toto
 
génération de la clé privé : toto  
et public :toto.pub  
 
la clé privé, je la garde bien au chaud et la clé public je dois la copié sur le serveur pour qu'il genere sa propre clé privé  
 
mais seulement voila on me dit rajouté la clé public dans le fichier $HOME/.ssh/authorized_keys en faisant cat toto.pub >> authorized_keys  
 
mais je n'ai pas de fichiers authorized_keys, je n'ai que le fichier root/.ssh/authorized_keys/ssh_known_hosts
 
Je pense que c'est sensiblement la meme chose. Que dois je faire apres la generations des clés privé/public.  
 
et sinon dans le home de mon user normal :

Code :
  1. [trant@fx trant]$ ls -al
  2. total 20
  3. drwx------  2 trant trant 4096 Feb 19 22:50 .
  4. drwxr-xr-x  7 root  root  4096 Feb 19 22:50 ..
  5. -rw-r--r--  1 trant trant   24 Feb 19 22:50 .bash_logout
  6. -rw-r--r--  1 trant trant  191 Feb 19 22:50 .bash_profile
  7. -rw-r--r--  1 trant trant  124 Feb 19 22:50 .bashrc
  8. [trant@fx trant]$ ls /etc/ssh
  9. moduli       ssh_host_dsa_key      ssh_host_key.pub
  10. ssh_config   ssh_host_dsa_key.pub  ssh_host_rsa_key
  11. sshd_config  ssh_host_key          ssh_host_rsa_key.pub


 
Que dois je faire ?
Ou dois je copié ma clé public ?
ce n'est pas grave si authorized_keys n'existe pas, je fais quand meme : at toto.pub >> authorized_keys ?
 
 
 

mood
Publicité
Posté le 19-02-2005 à 23:06:59  profilanswer
 

n°639191
mikala
Souviens toi du 5 Novembre...
Posté le 19-02-2005 à 23:09:48  profilanswer
 

le plus simple est de te servir de ssh-copy-id .


---------------
Intermittent du GNU
n°639196
weed
Posté le 19-02-2005 à 23:32:35  profilanswer
 

je n'ai pas cette commande magic.  
lorsque je regarde dans le man ssh il n'en parle pas du tout
je suis sous fedora core 2

n°639199
mikala
Souviens toi du 5 Novembre...
Posté le 19-02-2005 à 23:42:21  profilanswer
 

hum étrange elle doit etre normalement fourni avec ssh .
enfin elle l'est sous debian/mandrake .
tu as bien installé le client ssh ?
sinon pour répondre a ta question tu mets effectivement le toto.pub dans le fichier .ssh/authorized_keys


---------------
Intermittent du GNU
n°639219
weed
Posté le 20-02-2005 à 01:26:46  profilanswer
 

oui j'ai bien installe le ssh, je suis meme en train de faire du vnc over ssh ;)
 
 
j'ai compris le systeme, y a meme un super tuto :-)
http://polywww.in2p3.fr/grpinfo/doc/ssf/ssf-rsa.html

n°639220
weed
Posté le 20-02-2005 à 01:35:44  profilanswer
 

lorsque l'on utilise le systeme de clé public/privé, faut il absolument que le login distant soit identique au local.
 
Je m'explique. J'ai un user toto sur la machine distante et sur la machine locale, cette utilisateur n'existe pas. Est ce que je dois le creer ?  
 
 
 
Je pense que non mais par contre une fois les clé privé/public généré avec l'utilisateur titi et une fois que la clé public est copié dans /home/titi/.ssh/authorized_keys, je ne pourrais me connecter qu'avec titi mais pas avec les autres users de mon poste local (à moins de copié la clé privé de titi sur les home des autres users)
 
 
Donc ma questions faut il que ce soit le meme user local et distant ?
Si ce n'est pas obligé, seul l'utilisateur qui a executé ssh-keygen peut se connecter sur sshd ?

n°639221
glor
Posté le 20-02-2005 à 01:46:49  profilanswer
 

Ce n'est pas obligé, tu peux être logger en weed sur ta machine local et te connecter sous un autre login sur une machine distante à partir du moment où tu as les droits pour t'y connecter.
Voir ssh -l $LOGIN $MACHINE
Configurable dans $HOME/.ssh/config (Host $MACHINE user $LOGIN)
 
Pour ne plus avoir à taper sa clé/passphrase, il faut utiliser ssh-agent.

n°639229
YupYup
Non.
Posté le 20-02-2005 à 07:42:42  profilanswer
 

weed a écrit :

ssh-keygen -t dsa -f toto
 
génération de la clé privé : toto  
et public :toto.pub

Ca c'est ok, sois sûr de ne pas taper de passphrase à cette étape.
 

weed a écrit :

mais seulement voila on me dit rajouté la clé public dans le fichier $HOME/.ssh/authorized_keys en faisant cat toto.pub >> authorized_keys  
 
mais je n'ai pas de fichiers authorized_keys, je n'ai que le fichier root/.ssh/authorized_keys/ssh_known_hosts

1 - Pas d'auth sans password pour root, c'est mal(c) : fais ça avec un login user normal.
2 - authorized_keys est normalement un fichier, efface donc ce répertoire et fais un cat de ta clé publique vers ~/.ssh/authorized_keys
 
http://ernest.cheska.net/index.php [...] loadastuce pour plus d'infos.

n°639312
weed
Posté le 20-02-2005 à 14:36:07  profilanswer
 

glor a écrit :

Ce n'est pas obligé, tu peux être logger en weed sur ta machine local et te connecter sous un autre login sur une machine distante à partir du moment où tu as les droits pour t'y connecter.
Voir ssh -l $LOGIN $MACHINE
Configurable dans $HOME/.ssh/config (Host $MACHINE user $LOGIN)
 
Pour ne plus avoir à taper sa clé/passphrase, il faut utiliser ssh-agent.


 
arf j'ai fais exactement ce que j'ai dis precedemment mais cela ne prend pas en compte ma clé, on me demande toujours le pass et non pas le passphrase.
 
Je n'ai pas mi le fichier config. Je n'ai pas très bien compris ce fichier de conf. Faut il que je le mette sur le serveur ?  ou sur la machine cliente ?
 
Par exemple, mon client  
nom d'hote : perso
login : weed
 
mon serveur :
nom d'hoste : firewall
login : toto
 
Dans mon exemple, que faudrait il que je mette ? (le nom de fichier de la clé privé c'est id_rsa et la clé public id_rsa.pub)

n°639313
weed
Posté le 20-02-2005 à 14:39:20  profilanswer
 

YupYup a écrit :

Ca c'est ok, sois sûr de ne pas taper de passphrase à cette étape.


sisisi, on peut taper un passphrase, et apres on fais tourner user-agent et on ajoute ces clé avec user-add.
 
 

YupYup a écrit :


1 - Pas d'auth sans password pour root, c'est mal(c) : fais ça avec un login user normal.


Pourquoi dis tu ca ? tu me dis ca a propos de mon serveur et ou de mon client ?
 

YupYup a écrit :


2 - authorized_keys est normalement un fichier, efface donc ce répertoire et fais un cat de ta clé publique vers ~/.ssh/authorized_keys
http://ernest.cheska.net/index.php [...] loadastuce pour plus d'infos.


yep, c'est fait :)

mood
Publicité
Posté le 20-02-2005 à 14:39:20  profilanswer
 

n°639314
mikala
Souviens toi du 5 Novembre...
Posté le 20-02-2005 à 14:39:41  profilanswer
 

tu as correctement configuré le serveur aussi j'espere ?
les droits sont corrects au niveau du fichier authorized_keys ?


---------------
Intermittent du GNU
n°639327
weed
Posté le 20-02-2005 à 14:52:56  profilanswer
 

yep, j'ai créé a partir de l'utilisateur normal sur le serveur :
-rw-r--r--  1 trant trant 600 Feb 20 12:15 authorized_keys
 
pour info voici mon /etc/ssh/sshd_config :

Code :
  1. #       $OpenBSD: sshd_config,v 1.59 2002/09/25 11:17:16 markus Exp $
  2.                                                                                
  3. # This is the sshd server system-wide configuration file.  See
  4. # sshd_config(5) for more information.
  5.                                                                                
  6. #
  7. ......
  8. # override default of no subsystems
  9. Subsystem       sftp    /usr/libexec/openssh/sftp-server
  10. MaxStartups 5
  11. AllowTcpForwarding yes


Message édité par weed le 22-02-2005 à 01:07:03
n°639364
Jar Jar
Intaigriste
Posté le 20-02-2005 à 17:13:29  profilanswer
 

ON NE SE LOGUE PAS EN ROOOOOOOOOOOOOOOOOOOOOOOOOOOOTTTT !!!!!

n°639370
weed
Posté le 20-02-2005 à 17:19:52  profilanswer
 

je sais pas ou tu as vu ca. Toujours est il que tu as raison, je me logué sur la machine distante mais maintenant ce n'est plus le cas. Enfin bon cela resoud pas mon problème.
 
J'attends la reponse de Glor pour ce qui est du fichier config. C'est peut etre pour ca que les clés ne sont prise en compte.
 

weed a écrit :

arf j'ai fais exactement ce que j'ai dis precedemment mais cela ne prend pas en compte ma clé, on me demande toujours le pass et non pas le passphrase.
 
Je n'ai pas mi le fichier config. Je n'ai pas très bien compris ce fichier de conf. Faut il que je le mette sur le serveur ?  ou sur la machine cliente ?
 
Par exemple, mon client  
nom d'hote : perso
login : weed
 
mon serveur :
nom d'hoste : firewall
login : toto
 
Dans mon exemple, que faudrait il que je mette ? (le nom de fichier de la clé privé c'est id_rsa et la clé public id_rsa.pub)


Message édité par weed le 20-02-2005 à 17:20:32
n°639373
Jar Jar
Intaigriste
Posté le 20-02-2005 à 17:22:45  profilanswer
 

weed a écrit :

lorsque l'on utilise le systeme de clé public/privé, faut il absolument que le login distant soit identique au local.
 
Je m'explique. J'ai un user toto sur la machine distante et sur la machine locale, cette utilisateur n'existe pas. Est ce que je dois le creer ?

Non, la clé machin@machinelocale peut servir à se loguer en tant que toto@machinedistante. Si tu veux que plusieurs locaux puissent le faire, il suffit de mettre plusieurs clés dans le .ssh/authorized_keys de toto@machinedistante.

n°639538
glor
Posté le 21-02-2005 à 03:33:13  profilanswer
 

Décommentes RSAAuthentification, ça devrait marcher pour ta passphrase.
 
Pour le $/.ssh/config, ce sont tes options personnelles. C'est le côté pratique qui est pas mal, pour toi:
 
cat ~/.ssh/config
Host perso
  User weed
Host firewall
  User toto
 
Ca permettra de faire des ssh firewall et ssh perso de façon transparente au niveau de l'utilisateur.
Beaucoup d'options sont disponibles pour te faciliter la vie ;)


Message édité par glor le 21-02-2005 à 03:34:18
n°640008
weed
Posté le 21-02-2005 à 23:06:00  profilanswer
 

Bon je vais de verifier id_dsa.pub sur le client = authorized_keys
 
[weed@perso weed]$ cat .ssh/id_dsa.pub = [toto@firewall toto]$ cat .ssh/authorized_keys
 
dans mon sshd_config de mon client ssh et de mon serveur sshd, j'ai decommenter la ligne  
RSAAuthentication yes
 
mais malgré cela, on me propose toujours d'échangé la clé public :  

Code :
  1. [weed@perso weed]$ ssh -L 5900:192.168.0.6:5900 trant@x.y.z.d -C The authenticity of host '213.215.47.178 (213.215.47.178)' can't be established.RSA key fingerprint is ff:7d:46:f2:99:6e:78:02:3f:57:2e:69:14:f6:35:d7.
  2. Are you sure you want to continue connecting (yes/no)?


 
J'ai decommenté les lignes dans sshd_config :

Code :
  1. #PubkeyAuthentication yes
  2. #AuthorizedKeysFile     .ssh/authorized_keys


car elle me semblait en rapport au clé public/privé.
 
Pourquoi mon client ne me propose t'il pas de taper la passphrase au lieu du mot de passe habituel ?  
 
J'ai loupé quelques chose ?
 
PS : Je n'ai pas encore fais le fichier config car selon glor il est optionnel
PS2 : je redemarre bien sur sshd pour prendre en compte les parametres :)


Message édité par weed le 21-02-2005 à 23:07:13
n°640057
glor
Posté le 22-02-2005 à 00:49:33  profilanswer
 

Question bête: Tu as bien fais ça sur toutes les machines sur lesquels tu te connectes? :)


Message édité par glor le 22-02-2005 à 01:00:02
n°640063
weed
Posté le 22-02-2005 à 01:06:28  profilanswer
 

euhh je ne te sais pas la. Tu parles pour quel fichier sinon mon fichier ssh_config de mon ordi pers (client)
 

Code :
  1. # Site-wide defaults for various options
  2.                                                                                          
  3. # Host *
  4. #   ForwardAgent no
  5. #   ForwardX11 no
  6. #   RhostsAuthentication no
  7. #   RhostsRSAAuthentication no
  8.    RSAAuthentication yes
  9. #   PasswordAuthentication yes
  10. #   HostbasedAuthentication no
  11. #   BatchMode no
  12. #   CheckHostIP yes
  13. #   StrictHostKeyChecking ask
  14. #   IdentityFile ~/.ssh/identity
  15.    IdentityFile ~/.ssh/id_rsa
  16.    IdentityFile ~/.ssh/id_dsa
  17. #   Port 22
  18. #   Protocol 2,1
  19. #   Cipher 3des
  20. #   Ciphers aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour,aes192-cbc,aes256-cbc
  21. #   EscapeChar ~
  22. Host *
  23.         ForwardX11 yes


n°640064
printf
Baston !
Posté le 22-02-2005 à 01:08:54  profilanswer
 

[quote=639364,0,13,23108]ON NE SE LOGUE PAS EN ROOOOOOOOOOOOOOOOOOOOOOOOOOOOTTTT !!!!![/quote]
 
Et pourquoi donc ?
Le principal intérêt que je vois à restreindre les logins root (distants ou non) est de pouvoir savoir quel utilisateur a fait un su (et à quel moment), mais à part ça cela ne pose aucun problème de sécurité particulier.
 
Même à l'époque de telnet cet argument ne tenait pas debout, puisqu'un login en utilisateur + un su par la suite n'est de toutes façons pas plus sécurisé qu'un login root direct via une liaison non chiffrée.

n°640065
weed
Posté le 22-02-2005 à 01:11:14  profilanswer
 

et voici mon nouveau sshd du firewall :
 

Code :
  1. #       $OpenBSD: sshd_config,v 1.59 2002/09/25 11:17:16 markus Exp $
  2.                                                                                                                                                            
  3. # This is the sshd server system-wide configuration file.  See
  4. # sshd_config(5) for more information.
  5.                                                                                                                                                            
  6. # This sshd was compiled with PATH=/usr/local/bin:/bin:/usr/bin
  7.                                                                                                                                                            
  8. # The strategy used for options in the default sshd_config shipped with
  9. # OpenSSH is to specify options with their default value where
  10. # possible, but leave them commented.  Uncommented options change a
  11. # default value.
  12.                                                                                                                                                            
  13. #Port 22
  14. #Protocol 2,1
  15. #ListenAddress ::
  16.                                                                                                                                                            
  17. # HostKey for protocol version 1
  18. #HostKey /etc/ssh/ssh_host_key
  19. # HostKeys for protocol version 2
  20. #HostKey /etc/ssh/ssh_host_rsa_key
  21. #HostKey /etc/ssh/ssh_host_dsa_key
  22.                                                                                                                                                            
  23. # Lifetime and size of ephemeral version 1 server key
  24. #KeyRegenerationInterval 3600
  25. #ServerKeyBits 768
  26.                                                                                                                                                            
  27. # Logging
  28. #obsoletes QuietMode and FascistLogging
  29. #SyslogFacility AUTH
  30. SyslogFacility AUTHPRIV
  31. #LogLevel INFO
  32.                                                                                                                                                            
  33. # Authentication:
  34.                                                                                                                                                            
  35. #LoginGraceTime 120
  36. #PermitRootLogin yes
  37. #StrictModes yes
  38.                                                                                                                                                            
  39. RSAAuthentication yes
  40. PubkeyAuthentication yes
  41. AuthorizedKeysFile      .ssh/authorized_keys
  42.                                                                                                                                                            
  43. # rhosts authentication should not be used
  44. #RhostsAuthentication no
  45. # Don't read the user's ~/.rhosts and ~/.shosts files
  46. #IgnoreRhosts yes
  47. # For this to work you will also need host keys in /etc/ssh/ssh_known_hosts
  48. #RhostsRSAAuthentication no
  49. # similar for protocol version 2
  50. #HostbasedAuthentication no
  51. # Change to yes if you don't trust ~/.ssh/known_hosts for
  52. # RhostsRSAAuthentication and HostbasedAuthentication
  53. #IgnoreUserKnownHosts no
  54. # To disable tunneled clear text passwords, change to no here!
  55. #PasswordAuthentication yes
  56. #PermitEmptyPasswords no
  57. # Change to no to disable s/key passwords
  58. #ChallengeResponseAuthentication yes
  59. # Kerberos options
  60. #KerberosAuthentication no
  61. #KerberosOrLocalPasswd yes
  62. #KerberosTicketCleanup yes
  63. #AFSTokenPassing no
  64. # Kerberos TGT Passing only works with the AFS kaserver
  65. #KerberosTgtPassing no
  66. # Set this to 'yes' to enable PAM keyboard-interactive authentication
  67. # Warning: enabling this may bypass the setting of 'PasswordAuthentication'
  68. #PAMAuthenticationViaKbdInt no
  69. #X11Forwarding no
  70. X11Forwarding yes
  71. #X11DisplayOffset 10
  72. #X11UseLocalhost yes
  73. #PrintMotd yes
  74. #PrintLastLog yes
  75. #KeepAlive yes
  76. #UseLogin no
  77. #UsePrivilegeSeparation yes
  78. #PermitUserEnvironment no
  79. #Compression yes
  80. #MaxStartups 10
  81. # no default banner path
  82. #Banner /some/path
  83. #VerifyReverseMapping no
  84. # override default of no subsystems
  85. Subsystem       sftp    /usr/libexec/openssh/sftp-server
  86. MaxStartups 5
  87. AllowTcpForwarding yes


Message édité par weed le 22-02-2005 à 01:12:06
n°640066
printf
Baston !
Posté le 22-02-2005 à 01:14:31  profilanswer
 

Tu peux en profiter pour mettre ListenAddress sur celle qui est affectée à ton interface interne.

n°640068
weed
Posté le 22-02-2005 à 01:20:17  profilanswer
 

humm ouia pas mal du fait que l'on se connecte sur le firewall que du LAN ou du net et non pas de la DMZ, je pourrais specifier en effet

n°640074
glor
Posté le 22-02-2005 à 01:47:16  profilanswer
 

sshd_config:
PasswordAuthentication no
RhostsAuthentication no
RhostsRSAAuthentication no
RSAAuthentication yes
StrictModes yes
SyslogFacility AUTH
 
ssh_config:
Host *
PasswordAuthentication no
RhostsAuthentication no
RhostsRSAAuthentication  yes
RSAAuthentication yes
 
Ce sont les seules choses un peu particulière que je vois.
 
Pour le login root, généralement, on le déconseille plus par principe, en gros, éviter d'utiliser une machine en root si on en a pas besoin. (Il peut y avoir des raisons de DOS ou de brute force..)


Message édité par glor le 22-02-2005 à 01:50:26
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
 

Sujets relatifs
[SCP] inclure le password dans la commande...[Résolu]XChat : Autojoin channels avec password ?
probleme avec htaccess et mon passwordChangement de password Samba
unable to open password file (gentoo / reiser ?)Au secours - j'ai perdu mon password root!
[MySQL] Impossible de s'y connecter et de définir un password | résoluUnrar et password
rar avec passwordmessagerie sécurité user/password
Plus de sujets relatifs à : ssh sans password


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)