Mainos / Advertisement:

Ssh

Kohteesta Taisto
Loikkaa: valikkoon, hakuun
Tämä sivu sisältää muutoksia, joita ei ole merkitty käännettäväksi.

Muut kielet:
English • ‎suomi

SSH on käytännöllinen etähallinta palvelu linuxille.

SSH (Secure Shell) on myös protokolla, mutta tässä artikkelissa käsitellään apt pakettia ssh.

Asennus

Asennetaan ssh -paketti aptitude:lla.

aptitude install ssh

Konfigurointi

/etc/ssh/sshd_config

Tiedostosta löytyy ssh serverin tärkeät konfiguraatiot.

Muokataan sitä nano:lla

nano /etc/ssh/sshd_config

Portti (TCP, UDP), määritetään numerolla (oletus 22).

Port 22

Kirjautumisen yhteyden aikakatkaisu, määritetään sekunteina (oletus 120).

LoginGraceTime 120

Sallitaan tai estetään root -käyttäjän kirjautuminen ssh:lla, määritetään yes tai no (oletus yes). Ehdottomasti suositeltavaa estää root käyttäjän kirjautuminen SSH yhteydellä.

PermitRootLogin yes

Autentikoimattomien yhteyksien sallittu määrä, määritetään [vähintään]:[todennäköisyys%]:[enintään] (todennäköisyys% kasvaa lineaarisesti, kun lähestytään enimmäismäärää)

MaxStartups 10:30:60

Kommentoimattomana (ilman '#' edessä) tulostaa viestin käyttäjän kirjautuessa (käyttäjänimen syöttämisen jälkeen).

Banner /etc/issue.net

Viestiä voi muokata nano:lla

nano /etc/issue.net

Kirjautumisen jälkeen nähtävä viesti:

nano /etc/motd

Oletusviesti:

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.


Lopuksi otetaan muokattu konfiguraatio käyttöön käynnistämällä ssh palvelu uudestaan.

service ssh restart

Suositus on asentaa Fail2ban SSH-palvelimelle, sillä automaattisia botteja on olemssa ja yrittää hyökätä SSH palvelimiin.

Lisäasetukset

Salli enintään istuntoja per käyttäjä

 MaxSessions 10


Salli vain käyttäjää matti kirjautumaan SSH yhteydellä.

 AllowUsers matti

Sallitaan tietyn käyttäjän tai käyttäjien kirjautuminen vain tietystä LANista

AllowUsers root@88.148.222.100
AllowUsers root@example.com
AllowUsers root@192.168.*.* Tässä esimerkissä kaikki osoitteesta 192.168.0.0/16 pääsee sisälle

Estä käyttäjää paavo kirjautumaan SSH yhteydellä.

 DenyUsers

Salli käyttäjäryhmässä olevien käyttäjien kirjautuminen SSH yhteydellä.

AllowGroups Admins

Estä käyttäjäryhmässä olevia käyttäjiä kirjautumasta SSH yhteydellä.

DenyGroups

Autentikointi avainpareilla

Luodaan julkinen ja privaati avain.

 ssh-keygen -t rsa -b 2048


Esimerkki tulostus

Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
9a:33:a9:5d:f4:e1:41:26:57:d0:9a:68:5b:37:9c:23 root@server1
The key's randomart image is:
+--[ RSA 2048]----+
|          .o.    |
|           ..    |
|        ..++ .   |
|        o=E *    |
|       .Sooo o   |
|       =.o o     |
|      * . o      |
|     o +         |
|    . .          |
+-----------------+

Kopioi privaattiavain toiselle paikkaan josta haluat päästä kirjautumaan.

 ssh-copy-id -i /root/.ssh/id_rsa.pub root@server2

Luo hakemisto ssh:lle jos sitä ei ole

 mkdir -p ~/.ssh/

Kopioi public key authorized_keys tiedostoon.

 cat id_rsa.pub >> ~/.ssh

Testaa kirjautuminen

ssh root@server1

Avaimet toiselle käyttäjätilille

Luodaan julkinen ja privaattiavain toiselle käyttäjätilille

 ssh-keygen -f username

Tämä tallentaa avaimen käyttäjän nimellä. Lisää username.pub tiedoston sisältö käyttäjän kotikansion alle olevaan authorized_keys tiedostoon

cat username.pub >> ~/.ssh/authorized_keys

Testaa kirjautuminen. Lisää -i parametriin privaattiavain tiedosto.

 ssh -i ~/.ssh/username username@server1

Konfiguraatio jossa valmiina polku ssh avaimelle

Luo konfiguraatio tiedosto kotikansion alle

 nano ~/.ssh/config

Esimerkiksi seuraavanlaiseksi:

  • Host palvelimen IP/Hostname
  • IdentifyFile Privaattitiedostopolku
  • User jolla kirjaudutaan tälläprivaattiavainta
Host server1.example.org
  IdentityFile ~/.ssh/id_dsa
  User username
Host server2.example.org
  IdentityFile /backup/home/userName/.ssh/id_rsa

Yhdistä palvelimelle

 ssh server1.example.org 

ja pitäisi mennä suoraan sisään ilman -i parametriä.

SSH Tunneli

SSH_tunneli on SSH-protokolan porttiohjaus, joka ei vaadi erityisiä toimenpiteitä ja toimii tavallisen käyttäjän oikeuksilla. Tämä on todella helppo myöskoinn käyttää.

Salli palvelimen konfiguraatiosta SSH-tunneli /etc/ssh/sshd_config tiedostosta.

PermitTunnel yes

Aja sitten asiakasohjelmalla komento. Tämä tekee SSH-porttiohjauksen localhost:8080 server.local palvelimeen. Näin voit yhdistää IP-tunnelin yli server.local palvelimen 8080 porttiin suoraan clientista käsin.

ssh -L 8080 username@server.local

Tässä toinen esimerkki, jossa on tehty tunneloini paikallisesta 2222 portista etäkoneen porttiin 22 (ssh).

ssh -L 2222:server2.local:22 username@server.local

SFTP

Konfiguroi SFTP:

 nano /etc/ssh/sshd_config
Subsystem sftp internal-sftp

#Salli vain ryhmän sftp käyttämään SFTP:tä.
Match Group sftp
   ChrootDirectory %h
   ForceCommand internal-sftp
   AllowTCPForwarding no

Luo käyttäjät

 adduser mikko
 adduser mikko sftp

Lisää vielä sallitut käyttäjät jotka saa käyttää SSH:ta ja SFTP:tä

 AllowUsers mikko

Käynnistä lopuksi SSH uudelleen.

Mainos / Advertisement: