home       inleiding       sysadmin       services       links       bash       werk       nothing      

SSH & keys

  1. opzet
     
    Gebruik een ubuntu server en een linux mint client (beide in bridged of nat-netwerk).
    We genereren op de linuxmint client, op je standaard user account een public-private key paar.
    Zet daarna de public key op je servers,
    Zet tenslotte de private key op een tweede client (ook een lxmint) en kijk in punt 3 en 4 of die er ook mee op de server kan.
    [de private key blijft jouw eigendom, de public key zet je op de servers waarop jij mag werken ...]
     
  2. ubuntu server
     
    Op je ubuntu server configureer je een user ... met hetzelfde paswoord als op de mint ...
    • in de sshd (/etc/ssh/sshd_config)
    • op de server een poort 54322 toevoegen
    • op de server een listenaddress :
    • als je server-ipv4-adres = 192.168.248.78 wordt in de config het volgende toegevoegd:
       
      $ sudo vim /etc/ssh/sshd_config
       
      ...
      # The strategy used for options in the default sshd_config shipped with
      # OpenSSH is to specify options with their default value where
      # possible, but leave them commented.  Uncommented options override the
      # default value.
       
      Include /etc/ssh/sshd_config.d/*.conf
       
      Port 22
      Port 54322
      ListenAddress 192.168.248.78:54322
      #AddressFamily any
      #ListenAddress ::
      ...

      daarna de ssh-service herstarten met:
       
      $ sudo systemctl restart ssh
      [sudo] password for user: *********
       
      en de service testen met ...:
      user@ubu22-02:~$ sudo systemctl status ssh

      ● ssh.service - OpenBSD Secure Shell server
      Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
      Active: active (running) since Thu 2024-02-22 20:37:22 UTC; 8s ago

       
       

  3. ssh-keygen: op de mint client
     
    Begin met de creatie van een key-paar:
     
    $ ssh-keygen
    Generating public/private rsa key pair.
    Enter file in which to save the key (/home/user/.ssh/id_rsa):  < ENTER>
    Enter passphrase (empty for no passphrase):  x-x-x-x-x
    Enter same passphrase again:  x-x-x-x-x
    Your identification has been saved in /home/user/.ssh/id_rsa2.
    Your public key has been saved in /home/user/.ssh/id_rsa2.pub.
    The key fingerprint is:
    7e:c1:0d:b2:31:74:3a:26:68:74:6a:8a:fb:eb:6d:8e user@lap2012
    The key's randomart image is:
    +--[ RSA 2048]----+
    |    . . . .      |
    |   . + . o       |
    |    = . B .      |
    | . +   o B o     |
    |. .     S o .    |
    | .     .   .     |
    |.       . .      |
    | . o.    .       |
    | .E+o            |
    +-----------------+

     

  4. ssh-copy-id

    plaats de key vanuit de linux mint client op de ubuntu server met het volgende commando:
    $ ssh-copy-id [​-i .ssh/id_rsa.pub] [-p <portnr>] [<user-account>@]<destination>
     
    ... op je ubuntu server met externe poort 54322 en user-account "user"
    $ ssh-copy-id -p 54322 user@ip-adres-ubuntu
     

    /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
    /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
    user@10.28.101.14's password:  x-x-x-x-x
    Number of key(s) added: 1
    Now try logging into the machine, with:   "ssh -p '54322' 'ip-adres-ubuntu'"
    and check to make sure that only the key(s) you wanted were added.

    We proberen vervolgens in te loggen:
    user@thismachine:~ $ ​ssh ip-adres-ubuntu -p 54322

    Last login: Fri Apr 29 13:20:37 2016 from 10.28.101.101
    [user@localhost ~]$ 

     

  5. root
     
    In de settings van sshd_config staat meestal
    PermitRootLogin prohibit-password
    Cre-eer een key-paar voor je root account en test via intnet van mint naar je lokale ubuntu/centos.

  6. putty & keys vanaf windows
     
    Om een private key te gebruiken met putty vanuit windows, moeten we deze converteren naar putty-formaat met de utility puttygen. Dit kan onder ubuntu/mint als volgt:
     
    $ cd ~/.ssh
    $ sudo apt-get install putty-tools
    $ sudo puttygen id_rsa -o id_rsa.ppk
    Enter passphrase to load key: x-x-x-x-x
    $ ls -l
    total 28
    -rw------- 1 user user 1766 Apr 29 13:18 id_rsa
    -rw------- 1 root root 1460 Apr 29 14:12 id_rsa.ppk
    -rw-r--r-- 1 user user  394 Apr 29 13:18 id_rsa.pub
    -rw------- 1 user user 6418 Apr 29 10:19 known_hosts
    -rw-r--r-- 1 user user 6418 Apr 29 09:44 known_hosts.old

    Je kan nu de id_rsa.ppk gebruiken in putty ...

    screen-shot-2013-05-15-at-8.31.44-am

     

  7. cloud (niet van toepeaasing)
     
    Vraag toegang aan je cloud servers (in-house) en (outside) aan de docent. Plaats hierop ook je public key en probeer in te loggen zonder paswoord.