Menu

10 oktober 2011

OS X Terminal: SSH aliassen gebruiken

Wanneer je veel gebruik maakt van SSH verbindingen dan is het handig om hiervoor aliassen in de Terminal profiles aan te maken. Hierdoor kun je de verbinding een ‘vriendelijke’ naam geven en hoef je alleen nog maar het wachtwoord te onthouden.

Normaal gesproken gebruik je het volgende commando om een SSH verbinding te maken met een server:

ssh xserve.local -l root -p 22

Door het onderstaande commando toe te voegen aan het .profile in Terminal kun je door middel van een zelf gekozen naam verbinding maken met de SSH server.

alias servernaam="ssh computernaam -l gebruikersnaam -p poort"

Om bijvoorbeeld een SSH verbinding als root gebruiker te maken met de server ‘xserve’ gebruik je:

alias appletips="ssh xserve.local -l root -p 22"

De -p (poort) parameter is optioneel de meeste SSH verbindingen maken standaard gebruik van poort 22. In plaats van de ‘hostname’ kun je ook een verbinding opzetten met behulp van het IP nummer.

Nada het .profile is aangepast dien je deze actief te maken door je terminal sessie af te sluiten of door het commando:

. ./.profile

(Let op! er zit een spatie tussen de eerste en tweede punt).

Als het .profile actief is kun je met behulp van het commando ‘appletips’ in OS X Terminal een verbinding maken met de xServe.

appeltips



Gerelateerde tips:




Reacties


  • bwubs 10 oktober 2011 om 9:42

    klinkt handig! Ga ik vandaag ff uitproberen :)

  • Louis 10 oktober 2011 om 10:04

    Het kan sowieso wat korter, want poort 22 is inderdaad standaard, local zit als het goed is standaard in de dns-aanvullingen, en ook de -l optie is overbodig:

    ssh root@xserve

  • Maurice 10 oktober 2011 om 10:35

    ssh is wellicht een wat slecht voorbeeld voor alias hier zijn “betere” configuratie opties voor zijn.
    In je home directory, ook wel “~” genoemd, is een directory .ssh

    cd ~/.ssh

    In deze ssh configuratie directory kan een config bestand gemaakt worden waarin je je configuratie per host kwijt kan. Zowel de sleutels als de gebruikers.
    Om even verder te gaan met het voorbeeld dat hierboven gegeven word zou je hetvolgende config bestand kunnen maken. ( cat laat de inhoud van een bestand zien )

    cat ~/.ssh/config
    host appletips
    hostname xserve.local
    user root
    port 22

    Op deze manier kun je veel meer hosts kwijt in de config van ssh.
    In deze directory en config bestand kun je ook configuraties kwijt zodat je zonder wachtwoord op het doel kunt inloggen. Maar dat ga ik hier niet uitleggen.
    Het gebruik van ssh op deze manier werkt op ALLE Unix systemen. ( Linux, Solaris, HPUX, BSD )

    Een bruikbaarder gebruik van alias vind ik, bijvoorbeeld, het gebruik van verschillende commando’s om bijvoorbeeld uit te zoeken waar diskruimte is gebleven.
    Het commando “du” vertegenwoordigd diskusage en het commando “sort” kan heel goed sorteren.
    Als we het volgende doen in je homedirectory van je harddisk : ( kan een tijdje duren, want hij doorzoekt je hardeschijf )

    $ cd ~
    $ du -sk *

    Hier komt een lijst met bestanden en directories uit en die zou ik graag gesorteerd willen zien.
    Dit kun je doen door hetvolgende commando :

    $ cd ~
    $ du -sk * | sort -n

    Het grootste bestand of directory komt nu onderaan de lijst te staan.
    Dit commando kun je in een alias zetten :

    alias verbruik=”du -sk * | sort -n”

  • Erwin 10 oktober 2011 om 12:25

    Nog makkelijker én veiliger wordt het om ipv met wachtwoord met RSA/DSA keys te werken. Je hebt dan geen wachtwoord meer nodig. Beste is zelfs als je dat kunt om de mogelijkheid om met wachtwoord in te loggen uit te zetten.
    De keys zet je dan ook in je .ssh map:
    cd ~/.ssh
    Je kunt dan inloggen met alleen de alias te typen.

  • Henk van Achterberg 23 oktober 2011 om 19:12

    In je .profile kan je ook functies kwijt die meerdere commando’s achter elkaar kunnen uitvoeren. Bijv:

    function gomkdir {
    mkdir $1;
    cd $1;
    }

    Als je dan ‘gomkdir’ test uitvoert maakt hij een map en gaat er naar toe.

Een reactie toevoegen: