ssh automatisch inloggen

Zo, weer een stukje verder met het regelwerk. Op het hoefnix forum van Henk van de Kamer vond ik een stukje over het automatisch inloggen met ssh. Dit met behulp van een keypair.

xxx:~$ cd .ssh

xxx:~/.ssh$ ssh-keygen -f {Keynaam} -t rsa -N ''

xxx:~/.ssh$ cat {Keynaam}.pub | ssh inlognaam@hostnaam 'mkdir -m 700 -p .ssh; cat >> .ssh/authorized_keys'

xxx:~/.ssh$ ssh -i {Keynaam} inlognaam@hostnaam

Naast het aanmaken van een keypair heb ik ook nog een aantal aliassen aangemaakt in mijn .bashrc zodat ik niet van elke machine de login, password en ip-adres of hostname hoef te onthouden.

alias sshalias='ssh -i ~/.ssh/{Keynaam} loginnaam@hostnaam'

In bovenstaande code stukken heb ik een aantal waarden veranderd.

  • {Keynaam}: De naam die je het keypair geeft
  • inlognaam: lijkt me duidelijk
  • hostnaam: dns-naam of ip adres van de machine waarnaar je wil connecten
  • sshalias: Het commando waarmee je de login kunt doen op die machine. Als je meerdere aliassen maakt moeten dit dus ook meerdere namen zijn.

Na het aanpassen van .bashrc zul je deze opnieuw moeten inladen om de wijzigingen actief te maken. Dat kan door het opnieuw inloggen maar dit gaat iets vlotter:

Athlan:~# source .bashrc

Let wel, dit is een handig hulpmiddel maar ook potentieel gevaarlijk. Doe dit dus alleen op een machine waarvan je het vertrouwen hebt dat ongewensten hierbij kunnen. Mijn werksysteem thuis vertrouw ik er in elk geval wel mee.

Dit stukje wordt ook geplaatst in de rubriek scripts. Het is namelijk niet alleen handig voor het inloggen met ssh, maar kan ook in scripts gebruikt worden om bepaalde taken op een andere machine uit te voeren. Denk bijvoorbeeld aan de backup.

4 thoughts on “ssh automatisch inloggen”

  1. Ik heb hier ook al eens over nagedacht. Zelf zat ik meer aan een script te denken dat vervolgens uit een configuratiebestand de juiste gegevens haalt. Ofwel ik doe dan iets als:

    $ issh asterix

    Waarna het script dan de ssh regel samenstelt en uitvoert. Een aantal van mijn servers staan op andere poorten of kan ik alleen als root inloggen. Maar dat is per server altijd hetzelfde, ofwel iets als dit zou moeten werken…

  2. Dat is ook een manier, en helemaal bij meerdere machine’s is dat een betere. Ik heb nu 4 machine’s toegevoegd en dus ook 4 alliassen aangemaakt. Maar als je over 10 machines praat dan krijg je al een wirwar van commando’s die je moet weten.

  3. Soms zijn de oplossingen die aanwezig zijn zo simpel dat je ze simpelweg vergeet te gebruiken. Je kunt namelijk voor ssh een configfile aanmaken waar je al deze parameters in kan zetten, zie msn ssh_config voor meer info.

Geef een reactie