Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: [opgelost] ssh: locatie van private sleutel?  (gelezen 2255 keer)

Offline blokkendoos

  • Lid
  • Steunpunt: Nee
[opgelost] ssh: locatie van private sleutel?
« Gepost op: 2011/06/20, 14:30:03 »
Ik kan van buitenaf (via dyndns) mijn ssh-server benaderen via de commandline, maar moet dan wel de locatie van de sleutel meegeven met
ssh -i ~/.ssh/sleutel.
Dat vind ik vreemd. Het lijkt erop dat die locatie dus niet standaard is.
En ik vrees dat dit er dan ook de oorzaak van is dat ik niet met Server verbinden kan gebruiken, want ik zou niet weten waar ik daar (in de gui) de locatie van de identity file moet plaatsen.

Ik hoop dat iemand me hiermee kan helpen.

met vriendelijk groet,

pablo k
« Laatst bewerkt op: 2011/06/28, 08:56:51 door blokkendoos »

Offline Bloom

  • Lid
  • Steunpunt: Ja
Re: ssh: locatie van private sleutel?
« Reactie #1 Gepost op: 2011/06/20, 15:44:18 »
Inloggen via een authenticatiesleutel werkt met twee sleutels: een private en een publieke. De private sleutel blijft bij jou en de publieke speel je door naar de server.
1. Aanmaken van jouw sleutels:
ssh-keygen -t rsa

2. Speel je publieke sleutel door naar de server
ssh-copy-id -i .ssh/id_rsa.pub root@MijnServer
Hierbij zul je het rootwachtwoord van de server moeten opgeven en we veronderstellen hier natuurlijk, dat rootinlogs via ssh toegestaan zijn op de server. Die '-i .ssh/id_rsa_pub' is de default, dus dat mag je ook weglaten.

3. Nu kun je automatisch als root inloggen via ssh op de server:
ssh root@MijnServerHierbij hoef je geen sleutellocatie op te geven, jouw Ubuntu zal die automatisch uit ~/.ssh halen.
Dit is vooral interessant voor back-upscripts e.d., bijvoorbeeld voor gebruik van rsync over ssh.

Offline blokkendoos

  • Lid
  • Steunpunt: Nee
Re: ssh: locatie van private sleutel?
« Reactie #2 Gepost op: 2011/06/20, 16:04:09 »
@Bloom: Bedankt voor de genomen moeite. Ik zie het helaas nog niet als een antwoord op mijn probleem. Uw antwoord is een mooie how-to.

Ik ben aan de andere kant begonnen en heb de keys aangemaakt op de server. De .pub aldaar toegevoegd aan authorized_keys.
De private meegenomen  naar de client en in ~/.ssh/ geplaatst en van leesrechten ontdaan voor group en world.

Zoals vermeld kan ik met de terminal kontakt maken en werken op de server. Maar moet dan echt de locatie van de identity file meegeven met de -i optie. Zonder dat krijg ik een foutmelding: Permission Denied (publickey).

b.v.d.

pablo k



Offline Bloom

  • Lid
  • Steunpunt: Ja
Re: ssh: locatie van private sleutel?
« Reactie #3 Gepost op: 2011/06/20, 17:15:17 »
Dat kan ook, maar dan moet je het sleutelbestand de naam id_rsa.pub geven. Dat is de default-naam en als je die in .ssh hebt staan, veronderstelt hij dat als je geen -i opgeeft. Maar jij hebt het bestand de naam 'sleutel' gegeven, zo te zien. En dan moet je inderdaad telkens die naam opgeven met -i.

Offline blokkendoos

  • Lid
  • Steunpunt: Nee
Re: ssh: locatie van private sleutel?
« Reactie #4 Gepost op: 2011/06/20, 19:12:23 »
Hmmm.
Ik heb behoorlijk wat gelezen voor ik hieraan begon, maar dit ben ik niet eerder tegengekomen. Heel goed om te weten!
Dat betekent dus feitelijk dat je maar één server als default kunt benaderen, zonder de -i optie.
En het betekent tevens dat dat de enige lijkt te zijn die je "met Server verbinden" (onder locaties) kunt gebruiken?
Anders gezegd: hoe ga ik dan/nu verder met sshfs, ik zie in de manpage niet 1,2,3 een optie om een -i optie o.i.d. mee te geven?

Overigens vermoed ik dat een kleine correctie op zijn plaats is.
Zowel de .pub als de private komen in principe in ~/.ssh/. Maar de identity file die met de -i optie wordt aangegeven betreft volgens mij
de private key.

Wat ik me ook nog afvraag is of de publieke sleutel, waarvan je de inhoud aan authorized_keys toevoegt, dan ook gewist kan worden of een naam kan krijgen die geheel anders is, of veel meer beschrijvend.

Graag zou ik hierop nog antwoord krijgen,

b.v.d.

pablo k

« Laatst bewerkt op: 2011/06/20, 19:31:24 door blokkendoos »

Offline Johan van Dijk

  • Administrator
    • johanvandijk
  • Steunpunt: Nee
Re: ssh: locatie van private sleutel?
« Reactie #5 Gepost op: 2011/06/20, 19:34:11 »
Wat je ook kan doen is de verschillende gegevens die je nodig hebt in een configuratiebestand op de client te zetten, ~/.ssh/config

Zet er dan zoiets in:
Host makkelijke_naam
User gebruikersnaam
Port 22
IdentityFile ~/.ssh/anderesleutel (als je niet de standaard ~/.ssh/id_rsa of id_dsa wil)
HostName computernaam.nl (of ip adres)
Als het goed is worden deze gegevens ook gebruikt als je via de GUI verbinding wil maken.

Offline Bloom

  • Lid
  • Steunpunt: Ja
Re: ssh: locatie van private sleutel?
« Reactie #6 Gepost op: 2011/06/20, 19:46:00 »
Ik heb behoorlijk wat gelezen voor ik hieraan begon, maar dit ben ik niet eerder tegengekomen. Heel goed om te weten!
Dat betekent dus feitelijk dat je maar één server als default kunt benaderen, zonder de -i optie.
Daarom is het eigenlijk de bedoeling dat je een key voor een werkstation aanmaakt en die dan meedeelt aan de server. Dan is de key uniek voor het werkstation en kun je er daar zoveel servers mee benaderen als je maar wil. Een ander werkstation kan dat ook, maar heeft dan zijn eigen unieke key.

Citaat van: blokkendoos
En het betekent tevens dat dat de enige lijkt te zijn die je "met Server verbinden" (onder locaties) kunt gebruiken?
Anders gezegd: hoe ga ik dan/nu verder met sshfs, ik zie in de manpage niet 1,2,3 een optie om een -i optie o.i.d. mee te geven?
Zoals hoger aangehaald gebruik je één enkele werkstationkey om X aantal servers mee te bereiken, niet omgekeerd.

Citaat van: blokkendoos
Overigens vermoed ik dat een kleine correctie op zijn plaats is.
Zowel de .pub als de private komen in principe in ~/.ssh/. Maar de identity file die met de -i optie wordt aangegeven betreft volgens mij de private key.
Ja: het werkstation deelt zijn privékey mee. Op de server staat de publieke key. Daarom is het ook veilig om één werkstationsleutel te gebruiken voor meerdere servers.

Citaat van: blokkendoos
Wat ik me ook nog afvraag is of de publieke sleutel, waarvan je de inhoud aan authorized_keys toevoegt, dan ook gewist kan worden of een naam kan krijgen die geheel anders is, of veel meer beschrijvend.
Authorized_keys bevindt zich alleen langs de kant van de server. Daar staat een lijn in voor elk werkstation dat een unieke sleutel heeft. Als jij de enige bent die zich via ssh verbindt met een server, staat jouw pc normaal als enige erin, meestal met gebruikersnaam@pcnaam achteraan de sleutel.
Aan de werkstationkant staat er voor iedere server die je via ssh bereikt een idsleutel in known_hosts. Daar staat verder geen enkele leesbare identificatie bij.
Je kunt een hostlijn in die known_hosts zeker wissen, maar dan moet je weten welke host op welke lijn staat. Het is overigens niet zo heel erg als je een lijn teveel wist, omdat die bij de eerstvolgende ssh gewoon opnieuw aangemaakt wordt. Als de identificatiecode van een server plots verandert (zoals bijvoorbeeld na een herinstallatie het geval zou zijn), dan waarschuwt ssh je dat de code in lijn zoveel van known_hosts niet meer klopt en weet je meteen het lijnnummer dat je moet wissen om daarna weer te kunnen verbinden.

Offline blokkendoos

  • Lid
  • Steunpunt: Nee
Re: ssh: locatie van private sleutel?
« Reactie #7 Gepost op: 2011/06/20, 19:53:59 »
@Bloom: Je wordt enorm bedankt!
Het begon me net te dagen, waarom er aan de client kant wordt begonnen met het maken van de sleutels. En dat je dan inderdaad toe kunt met 1 sleutelpaar.

@Johan van Dijk: Ook jouw tip ga ik bekijken. Bedankt.

Ik ga me bezinnen of ik overnieuw begin.

Nogmaals bedankt.

met vriendelijke groet,

pablo k
« Laatst bewerkt op: 2011/06/20, 19:56:38 door blokkendoos »

Offline Al Bunty

  • Lid
  • Steunpunt: Nee
Re: ssh: locatie van private sleutel?
« Reactie #8 Gepost op: 2011/06/21, 07:39:33 »
Ik ben ook al een hele tijd hiermee bezig.

Via Locaties --> Verbinden met de server kan ik nu een SSH verbinding maken :)

En met sshfs kan ik een directory van de server mounten in m'n homedirectory op de client computer.
Ik kan de directory op de server openen.
Alleen ik dan de directory NIET meer ontkoppelen via de rechtermuisknop...?
--> umount: /home/xxx/sshserver staat niet in fstab (en u bent niet root)

Hoe los ik dit op?
« Laatst bewerkt op: 2011/06/28, 02:49:22 door Al Bunty »
Intel E6750, 8 GB RAM, GTX460, Dell 24" IPS

Offline Johan van Dijk

  • Administrator
    • johanvandijk
  • Steunpunt: Nee
Re: ssh: locatie van private sleutel?
« Reactie #9 Gepost op: 2011/06/21, 08:06:15 »
Al Bunty, voor jouw vraag is het denk ik handig om je eigen topic te openen.
Het "kapen" van andermans topic is niet echt de bedoeling :)

Om te ontkoppelen moet je even de terminal gebruiken:
fusermount -u /path/to/local/mountpoint

Dit heeft te maken met dat sshfs via FUSE werkt en dus geen normale mount is.

Offline Al Bunty

  • Lid
  • Steunpunt: Nee
Re: ssh: locatie van private sleutel?
« Reactie #10 Gepost op: 2011/06/21, 14:41:17 »
Al Bunty, voor jouw vraag is het denk ik handig om je eigen topic te openen.
Het "kapen" van andermans topic is niet echt de bedoeling :)

Om te ontkoppelen moet je even de terminal gebruiken:
fusermount -u /path/to/local/mountpoint

Dit heeft te maken met dat sshfs via FUSE werkt en dus geen normale mount is.

Sorry, ik had zelfs al daarover iets geopend, ga ik daar weer verder...
http://forum.ubuntu-nl.org/server-en-netwerk/ssh-verbinden-met-server/msg740361/#msg740361

Dat commando werkt trouwens prima, ik had al iets van fusermount gelezen moet ik toegeven, maar zover was ik nog niet.
Waarom geen gewone mount zou je eigenlijk willen vragen dan...

Dit wil ik: sshserver mounten net als nfsserver bij opstart, dus iets met private pub key gedoe nodig.
De vraag wordt nu: wat is de beste documentatie die ik voor ubuntu 10.04 daarvoor kan gaan lezen en uitproberen?



« Laatst bewerkt op: 2011/06/21, 14:53:43 door Al Bunty »
Intel E6750, 8 GB RAM, GTX460, Dell 24" IPS

Offline #!

  • Lid
    • tuxtopia
  • Steunpunt: Nee
Re: ssh: locatie van private sleutel?
« Reactie #11 Gepost op: 2011/06/22, 08:58:22 »
Je hebt het dus inderdaad verkeerd om gedaan :P.

Offline blokkendoos

  • Lid
  • Steunpunt: Nee
Re: ssh: locatie van private sleutel?
« Reactie #12 Gepost op: 2011/06/27, 12:29:01 »
Beste mensen,

Ik ben dus opnieuw begonnen en dat gaat prima! Behalve dan dat ik op 1 server niet binnenkom.
met
ssh -v gebruiker@server
krijg ik de volgende foutmeldingen?
debug1: Host 'server' is known and matches the RSA host key.
debug1: Found key in /home/peter/.ssh/known_hosts:28
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,keyboard-interactive
debug1: Next authentication method: publickey
debug1: Offering public key: /home/peter/.ssh/id_rsa
debug1: Authentications that can continue: publickey,keyboard-interactive
debug1: Offering public key: /home/peter/.ssh/id_dsa
debug1: Authentications that can continue: publickey,keyboard-interactive
debug1: Trying private key: /home/peter/.ssh/identity
debug1: Next authentication method: keyboard-interactive
debug1: Authentications that can continue: publickey,keyboard-interactive
debug1: No more authentication methods to try.
Permission denied (publickey,keyboard-interactive).

Wat te doen?

b.v.d.

pablo k

Offline Bloom

  • Lid
  • Steunpunt: Ja
Re: ssh: locatie van private sleutel?
« Reactie #13 Gepost op: 2011/06/27, 13:43:29 »
Heb je een sleutelpaar aangemaakt en een key naar de server gestuurd? Zie hoger voor hoe je dat moet doen.

Offline blokkendoos

  • Lid
  • Steunpunt: Nee
Re: [opgelost] ssh: locatie van private sleutel?
« Reactie #14 Gepost op: 2011/06/28, 08:59:22 »
Ja, ik heb een nieuw sleutelpaar gemaakt.
De publieke handmatig naar de server gebracht
en daar een kopieerfout gemaakt!
Laatste regel van authorized_keys gewist en met
cat sleutel >> authorized_keys de publieke sleutel toegevoegd aan authorized_keys.

Nu gaat het wel.

Nogmaals bedankt!

pablo k

Offline Rachid

  • Vertaalteam
    • rachidbm
    • Mijn blog
  • Steunpunt: Nee
Re: [opgelost] ssh: locatie van private sleutel?
« Reactie #15 Gepost op: 2011/06/28, 10:13:37 »
Voorkom zulke handmatige fouten door te doen wat Bloom je voorstelde in post #2.
2. Speel je publieke sleutel door naar de server
ssh-copy-id -i .ssh/id_rsa.pub root@MijnServer

Sterker nog, als je maar 1 paar hebt zal dit ook werken: ssh-copy-id user@MijnServer
Meestal heb je maar 1 paar...
Ben je ook blij dat Ubuntu zo toegankelijk en gratis is, en wil je graag net als ik iets terugdoen, kijk dan eens rond bij mwanzo, dé poort naar het bijdragen aan Ubuntu en haar gemeenschap!