15 januari 2010

Terminal: SSH alias toevoegen aan .profile

1 min leestijd

Wanneer je zoals mij veel gebruik maakt van SSH verbindingen onder Terminal, dan is het handig om een alias in je Terminal .profile aan te maken. Hierdoor hoef je alleen nog maar een naam en het password te onthouden.

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

ssh 192.168.1.200 -l root -p 722

Door het onderstaande toe te voegen aan je .profile in Terminal, kan je doormiddel van een zelf gekozen naam verbinding maken met de SSH server.

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

]Om bijvoorbeeld doormiddel van iphone onder Terminal een SSH verbinding te maken met mijn iPhone gebruik ik:

alias iphone="ssh 192.168.1.200 -l root -p 22"

De -p (poort) parameter is optioneel de meeste SSH verbindingen maken standaard gebruik van poort 22.

Nadat je het .profile hebt 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 gemaakt kan je doormiddel van iphone in Terminal een verbinding maken met de SSH server.

info
Auteur Richard IJzermans
Datum15/01/2010 08:05
Categorie macOS
Feedback Probleem melden
Delen 𝕏
  1 reactie

Reacties

  • Wat ook erg handig is, is om een config bestand aan te maken in ~/.ssh (dus ~/.ssh/config)
    Daarin zet je vervolgens per blokje een host, user en HostName in.

    bv:
    host mijnserver
    user root
    HostName http://www.mijnserver-ergens-op-het-internet.nl

    Vervolgens hoef je alleen nog maar in de terminal te typen:
    ssh mijnserver

    De user en hostname worden dan automatisch geplaatst.

    Dit is vervolgens goed te combineren met een autocomplete voor de ssh (dan hoef je alleen te typen ssh mij[TAB] en staat er ssh mijnserver.

    Zet dan in de ~/.profile

    _complete_ssh_hosts ()
    {
    COMPREPLY=()
    cur="${COMP_WORDS[COMP_CWORD]}"
    comp_ssh_hosts=`cat ~/.ssh/known_hosts | \
    cut -f 1 -d ' ' | \
    sed -e s/,.*//g | \
    grep -v ^# | \
    uniq | \
    grep -v "\[" ;
    cat ~/.ssh/config | \
    grep "^host " | \
    awk '{print $2}'
    `
    COMPREPLY=( $(compgen -W "${comp_ssh_hosts}" -- $cur))
    return 0
    }
    complete -F _complete_ssh_hosts ssh

    En het leven wordt steeds makkelijker voor de terminal user :)

    Beantwoorden

Laat een reactie achter



Download gratis de appletips app
voor iPhone en iPad in de App Store