SSH-avainparin luonti

1. Luo paikallinen SSH-avainpari asemassh käyttöön:

ssh-keygen -f ~/.ssh/id_asemassh -P ""
sudo cp ~/.ssh/id_asemassh /etc/ssh/id_asemassh
sudo chown root:root /etc/ssh/id_asemassh

2. Kopioi SSH-avainpari asemassh palvelimelle (kysyy hyväksynnän ja salasanan):

  • Jos palvelimen sormenjälki on SHA256:e0uEzJb2P0lFEUrmviZk/H+QXUulpNY4J2+W+HFklMY, hyväksy kirjoittamalla yes:
  • Salasanan saat toisaalta:
ssh-copy-id -i ~/.ssh/id_asemassh -p 6278 asema@asemassh.enymind.net

3. Lisää asemassh palvelimen avain kirjautumiseen sallituksi:

gedit ~/.ssh/authorized_keys

... lisää uusi rivi tiedostoon:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDQM8DPFFlVHyKHnCg0YS55pMfpv8f+n/MytEWxqBOOCWGB5R3BsaYGHAju1Q88weJ9hdAL0HhYeacZdJZ5ulOvi2k8yuvmB0P4dCoUhrmwPAMcRz06fIGgw/Ku9wyGLRJoZVqjhw7qIK85sCNAyktOi+7OpIziZNHlVthYOdYfniu+49esWDdUYrHWxlyUtJ+jNPVpvYsaz1e9wdcPbSpXFhjTqhd3XwJYYFRqHIIOSqa36xMpIgxBOPqRC88V0+W0pNeJkFxHmhCowr6VsJnEohXqQX1eJYC5CAQppluFlMKZM0OeT3HHj/ucFDMUeOu0rvjvEtiKUIkqalVQ+6aL asema@asemassh.enymind.net

Tarvittavien ohjelmien asennus

1. Asenna ohjelmat:

sudo apt install openssh-server autossh x11vnc

2. Muokkaa ssh-server ohjelman asetuksia:

sudo gedit /etc/ssh/sshd_config

... muokkaa neljää riviä (etsi rivit, sillä ovat jo tiedostossa):

  • Katso ettei rivin alussa ole #-kommenttimerkkiä ja että arvo on kuten annettu alla:
PermitRootLogin no
PubkeyAuthentication yes
PasswordAuthentication no
UsePAM no

3. Uudelleenkäynnistä ssh-server ohjelma:

sudo systemctl restart sshd.service

SSH-tunnelin automaattikäynnistys

1. Lisää automaattikäynnistystiedosto SSH-tunnelille:

sudo gedit /etc/systemd/system/autossh-tunnel.service

... sisällöllä (kaikki 11 riviä):

  • Muokkaa kohta SALKKU_NRO=99 salkun numeron mukaiseen kaksinumeroiseen arvoon:
    • salkku 4 -> SALKKU_NRO=04
[Unit]
Description=AutoSSH tunnel service
After=network.target

[Service]
Environment="AUTOSSH_GATETIME=0"
Environment="SALKKU_NRO=99"
ExecStart=/bin/sh -c '/usr/bin/autossh -o "ServerAliveInterval 60" -o "ServerAliveCountMax 3" -o "ExitOnForwardFailure yes" -N -R "22$SALKKU_NRO:localhost:22" asema@asemassh.enymind.net -i /etc/ssh/id_asemassh -p 6278'

[Install]
WantedBy=multi-user.target

2. Hyväksy asemassh palvelimen ssh avain root käyttäjälle

  • Jos palvelimen sormenjälki on SHA256:e0uEzJb2P0lFEUrmviZk/H+QXUulpNY4J2+W+HFklMY, hyväksy kirjoittamalla yes:
sudo -u root ssh asema@asemassh.enymind.net -i /etc/ssh/id_asemassh -p 6278

Poistu asemassh yhteydestä ennen jatkamista

exit

3. Aseta SSH-tunneli käynnistymään automaattisesti koneen käynnistyessä:

sudo systemctl daemon-reload
sudo systemctl start autossh-tunnel.service
sudo systemctl enable autossh-tunnel.service