Toon posts:

SSH public en private keypair

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo..

Ik ben bezig met ssh en bijbehorende key's om een verbinding te maken met een andere pc over het internet, zonder dat steeds het password moet worden opgegeven. Nu kan ik een key in het geheugen laden m.b.v. ssh-agent. Met het commando ssh-add laat ik mijn private sleutel in het geheugen.. Nu zou de truuk moeten zijn om ssh met deze private key te laten werken door op de remote zijde de bijbehorende public key van de gebruikte private key te plaatsen in ~/.ssh/authenticate
Op het moment dat ik nu een verbinding probeer te leggen met ssh wordt de public key niet herkend en vraagt ssh alsnog om een password, tevens wordt er dan een andere sleutel gebruikt (in iedergeval niet de sleutel welk ik heb gecopieerd naar ~/.ssh/authenticate )

iemand hier ervaring mee of kan mij verder opweg helpen ?
suggesties ,linkjes ??

  • Liegebeest
  • Registratie: Februari 2002
  • Laatst online: 19:39
1) Heb je bij het aanmaken van je key-pair een wachtwoord opgegeven of gewoon [Enter] gegeven? Heb je wel iets ingevoerd, dan word je nu gevraagd naar _dat_ wachtwoord...

2) Ik neem aan dat je in /etc/ssh/sshd_config de optie voor het authenticeren met passwords uit hebt staan, en de optie voor RSA keys aan hebt staan.

3) Ik neem aan dat die "authenticate" file van je het zelfde is als "authorized_keys"?? Ik ken zelf de file "authenticate" niet... Is dit iets van SSH2 ofzo?

Liege, liege, liegebeest!


  • hennink
  • Registratie: Augustus 2000
  • Laatst online: 12-08 19:50
Je moet op de client machine nog een file identification aanmaken met daarin je public key.
Is dacht ik iets van idKey naamvanKey.

alles wat aan kan, gaat kapot. De vraag is alleen wanneer.


Verwijderd

Topicstarter
Op dinsdag 05 maart 2002 10:25 schreef cailin_coilleach het volgende:
1) Heb je bij het aanmaken van je key-pair een wachtwoord opgegeven of gewoon [Enter] gegeven? Heb je wel iets ingevoerd, dan word je nu gevraagd naar _dat_ wachtwoord...

2) Ik neem aan dat je in /etc/ssh/sshd_config de optie voor het authenticeren met passwords uit hebt staan, en de optie voor RSA keys aan hebt staan.

3) Ik neem aan dat die "authenticate" file van je het zelfde is als "authorized_keys"?? Ik ken zelf de file "authenticate" niet... Is dit iets van SSH2 ofzo?
1) ja ik heb een wachtwoord aangegeven, daarom wil ik de key in het geheugen zetten.

2) /etc/ssh/sshd_config (ik denk zelf dat bij mij hier het probleem zit, heeft iemand hier een example van waarin een public key gebruikt wordt in samenwerking met een private key)

3) sorry ik kon niet meer op de juiste naam komen maar ik doelde inderdaad op authorized_keys (moet deze nu staan in ~/.ssh/authorized_keys of in /etc/ssh/authorized_keys of in beide ?)

  • Liegebeest
  • Registratie: Februari 2002
  • Laatst online: 19:39
1) ja ik heb een wachtwoord aangegeven, daarom wil ik de key in het geheugen zetten.
Right... okies...
2) /etc/ssh/sshd_config (ik denk zelf dat bij mij hier het probleem zit, heeft iemand hier een example van waarin een public key gebruikt wordt in samenwerking met een private key)
Ik zal ff kijken of ik die van mij (aangaande het auth gedeelte) kan posten... Momentje...
code:
1
2
3
4
5
6
7
RhostsAuthentication no
RhostsRSAAuthentication no
HostbasedAuthentication no
RSAAuthentication yes
PasswordAuthentication no
PermitEmptyPasswords no
ChallengeResponseAuthentication no

NIET direct copy en paste doen, want er kunnen typos in zitten :)
3) sorry ik kon niet meer op de juiste naam komen maar ik doelde inderdaad op authorized_keys (moet deze nu staan in ~/.ssh/authorized_keys of in /etc/ssh/authorized_keys of in beide ?)
In de authorized_keys file van het account waarnaar je SSHt...
[/quote]

Liege, liege, liegebeest!


Verwijderd

Topicstarter
Ik zal eens kijken naar mijn /etc/ssh/sshd_conf

moeten deze parameters nu aan mijn kant zo ingesteld worden of moet ik de remote zijde de /etc/ssh/sshd_conf aanpassen hiermee ? of moet dit bij beide.. ?

  • Liegebeest
  • Registratie: Februari 2002
  • Laatst online: 19:39
Op de server kant... De box waarnaartoe je wilt SSHen dus :)

Liege, liege, liegebeest!


Verwijderd

Topicstarter
net gekeken naar mijn /etc/ssh/sshd_conf file...

zo staat het bij mij...

RhostsAuthentication no
RhostsRSAAuthentication no
HostbasedAuthentication no
RSAAuthentication yes
PasswordAuthentication yes <-- verschil
PermitEmptyPasswords no
#ChallengeResponseAuthentication no <-- verschil

p.s.
HostKey /etc/ssh/ssh_host_key
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key

deze keys zijn aangemaakt en aangegeven in /etc/ssh/sshd_conf welke moet ik eigenlijk gebruiken misschien dat het daarin zit ?

  • Liegebeest
  • Registratie: Februari 2002
  • Laatst online: 19:39
Je moet in elk geval password authentication uit zetten...
En je moet zorgen dat je public key in ~/.ssh/authorized_keys word gezet...

Die keys in /etc/ moet je zelf niet aan komen...

Liege, liege, liegebeest!


Verwijderd

Topicstarter
echter de server zijde (de kant waar ik op in wil loggen heeft de volgende /etc/ssh/sshd_conf

# $OpenBSD: sshd_config,v 1.34 2001/02/24 10:37:26 deraadt Exp $

# This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin

# This is the sshd server system-wide configuration file. See sshd(8)
# for more information.

Port 22
Protocol 2,1
#ListenAddress 0.0.0.0
#ListenAddress ::
HostKey /etc/ssh/ssh_host_key
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
ServerKeyBits 768
LoginGraceTime 600
KeyRegenerationInterval 3600
PermitRootLogin yes
#
# Don't read ~/.rhosts and ~/.shosts files
IgnoreRhosts yes
# Uncomment if you don't trust ~/.ssh/known_hosts for RhostsRSAAuthentication
#IgnoreUserKnownHosts yes
StrictModes yes
X11Forwarding yes
X11DisplayOffset 10
PrintMotd yes
KeepAlive yes

# Logging
SyslogFacility AUTHPRIV
LogLevel INFO
#obsoletes QuietMode and FascistLogging

RhostsAuthentication no
#
# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts
RhostsRSAAuthentication no
#
RSAAuthentication yes

# To disable tunneled clear text passwords, change to no here!
PasswordAuthentication yes
PermitEmptyPasswords no

# Comment to enable s/key passwords or PAM interactive authentication
# NB. Neither of these are compiled in by default. Please read the
# notes in the sshd(8) manpage before enabling this on a PAM system.
ChallengeResponseAuthentication no

# To change Kerberos options
#KerberosAuthentication no
#KerberosOrLocalPasswd yes
#AFSTokenPassing no
#KerberosTicketCleanup no

# Kerberos TGT Passing does only work with the AFS kaserver
#KerberosTgtPassing yes

#CheckMail yes
#UseLogin no

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

Subsystem sftp /usr/libexec/openssh/sftp-server

Verwijderd

Topicstarter
# To disable tunneled clear text passwords, change to no here!

PasswordAuthentication no

wat wil dit nu zeggen dat mijn password niet meer versleuteld is ? als ik deze parameter op no zet ? is me even onduidelijk

  • Liegebeest
  • Registratie: Februari 2002
  • Laatst online: 19:39
Nee... Deze parameter geeft aan dat je bij het SSHen naar een systeem NIET je UNIX password in hoeft te vullen...

Staat die aan, en je SSH naar die host als user FOOBAR, dan zul je voor je er op mag eerst het UNIX wachtwoord van FOOBAR in moeten vullen...

Liege, liege, liegebeest!


Verwijderd

Topicstarter
Ja ja.. maar als ik dan een verbinding wil maken geeft hij eerst aan can't authenticate host, vervolgens vraagt hij om een wachtwoord maar dan zie ik dat de fingerprint van de key totaal anders is ?

  • Liegebeest
  • Registratie: Februari 2002
  • Laatst online: 19:39
Whack daddy... Da's maf...
Als je "ssh -v" (verbose) gebruikt, dan zegtie welke key hij gebruikt... Wa's de output?

Liege, liege, liegebeest!


Verwijderd

Topicstarter
dit krijg ik als ik ingeef:

ssh -v 1.2.3.4

OpenSSH_2.9p2, SSH protocols 1.5/2.0, OpenSSL 0x0090600f
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Seeding random number generator
debug1: Rhosts Authentication disabled, originating port will not be trusted.
debug1: restore_uid
debug1: ssh_connect: getuid 0 geteuid 0 anon 1
debug1: Connecting to 1.2.3.4 [1.2.3.4] port 22.
debug1: temporarily_use_uid: 0/0 (e=0)
debug1: restore_uid
debug1: temporarily_use_uid: 0/0 (e=0)
debug1: restore_uid
debug1: Connection established.
debug1: read PEM private key done: type DSA
debug1: read PEM private key done: type RSA
debug1: identity file /root/.ssh/identity type 0
debug1: identity file /root/.ssh/id_rsa type -1
debug1: identity file /root/.ssh/id_dsa type -1
debug1: Remote protocol version 1.99, remote software version OpenSSH_2.9p2
debug1: match: OpenSSH_2.9p2 pat ^OpenSSH
Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_2.9p2
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-cbc hmac-md5 none
debug1: kex: client->server aes128-cbc hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: dh_gen_key: priv key bits set: 117/256
debug1: bits set: 980/2049
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Host '1.2.3.4' is known and matches the RSA host key.
debug1: Found key in /root/.ssh/known_hosts2:1
debug1: bits set: 1040/2049
debug1: ssh_rsa_verify: signature correct
debug1: kex_derive_keys
debug1: newkeys: mode 1
debug1: SSH2_MSG_NEWKEYS sent
debug1: waiting for SSH2_MSG_NEWKEYS
debug1: newkeys: mode 0
debug1: SSH2_MSG_NEWKEYS received
debug1: done: ssh_kex2.
debug1: send SSH2_MSG_SERVICE_REQUEST
debug1: service_accept: ssh-userauth
debug1: got SSH2_MSG_SERVICE_ACCEPT
debug1: authentications that can continue: publickey
debug1: next auth method to try is publickey
debug1: try privkey: /root/.ssh/id_rsa
debug1: try privkey: /root/.ssh/id_dsa
debug1: no more auth methods to try
Permission denied (publickey).
debug1: Calling cleanup 0x8063390(0x0)

wat mij opvalt is dat hij nu aan het lezen slaagt in /etc/ssh/ssh_conf

hierin heb ik nog niet aangepast staat default zou hier iets missen ?

volgens mij probeert hij steeds de private key te gebruiken i.p.v. de public-key die ik heb aangemaakt met ssh-keygen :?

Verwijderd

Topicstarter
als ik nu op ~/.ssh/known_hosts2 weggooi komt ssh met deze output.

ssh -v 1.2.3.4

OpenSSH_2.9p2, SSH protocols 1.5/2.0, OpenSSL 0x0090600f
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Seeding random number generator
debug1: Rhosts Authentication disabled, originating port will not be trusted.
debug1: restore_uid
debug1: ssh_connect: getuid 0 geteuid 0 anon 1
debug1: Connecting to 1.2.3.4 [1.2.3.4] port 22.
debug1: temporarily_use_uid: 0/0 (e=0)
debug1: restore_uid
debug1: temporarily_use_uid: 0/0 (e=0)
debug1: restore_uid
debug1: Connection established.
debug1: identity file /root/.ssh/identity type 0
debug1: Remote protocol version 1.99, remote software version OpenSSH_2.9p2
debug1: match: OpenSSH_2.9p2 pat ^OpenSSH
Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_2.9p2
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-cbc hmac-md5 none
debug1: kex: client->server aes128-cbc hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: dh_gen_key: priv key bits set: 137/256
debug1: bits set: 1026/2049
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
The authenticity of host '1.2.3.4 (1.2.3.4)' can't be established.
RSA key fingerprint is b2:98:4d:63:4f:7f:51:84:4d:99:ae:d4:ef:80:cf:a0.
Are you sure you want to continue connecting (yes/no)? no
Aborted by user!
debug1: Calling cleanup 0x8063390(0x0)

kan iemand mij verder helpen :'(

Verwijderd

Topicstarter
Hallo..

Ik ben er uit :7

Het probleem zat em in de verschillende versies van het ssh protocol. Mijn software wou ssh v2 en mijn configuratie was op ssh v1 ingesteld.

dus bij ssh v1 moest ik een keypair aanmaken met : ssh-keygen. je krijgt vervolgens een ~/.ssh/identity en een ~.ssh/identity.pub . de .pub file moet je renamen en copieren naar ~/.ssh/authority_keys (server kant)

en bij ssh v2 moest ik een keypair aanmaken met : ssh-keygen -t rsa. je krijgt vervolgens een ~/.ssh/id_rsa en een ~.ssh/id_rsa.pub . de .pub file moet je renamen en copieren naar ~/.ssh/authority_keys2 (server kant)

nu draait alles op rolletjes..
wat ook mooi is dat je de /etc/ssh/sshd.conf kunt laten zoals die is met de default instellingen.

  • Liegebeest
  • Registratie: Februari 2002
  • Laatst online: 19:39
Right :)
Blij dat je er bent uit gekomen! Helaas kon ik niet eerder antwoorden...

Veel succes/plezier d'r mee!

Liege, liege, liegebeest!

Pagina: 1