SSH & keys
- 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 ...]
- ubuntu server
Op je ubuntu server configureer je eenuser
... 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
- in de sshd (
- 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 | +-----------------+
-
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 ~]$
-
root
In de settings vansshd_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. - putty & keys vanaf windows
Om een private key te gebruiken metputty
vanuit windows, moeten we deze converteren naar putty-formaat met de utilityputtygen
. 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 ...
- 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.