Mainos / Advertisement:

Ero sivun ”Ssh” versioiden välillä

Kohteesta Taisto
Siirry navigaatioon Siirry hakuun
 
(19 välissä olevaa versiota samalta käyttäjältä ei näytetä)
Rivi 129: Rivi 129:
  
 
   ssh-keygen -t rsa -b 2048
 
   ssh-keygen -t rsa -b 2048
 +
  
 
Esimerkki tulostus
 
Esimerkki tulostus
Rivi 155: Rivi 156:
 
</pre>
 
</pre>
  
Kopioi julkinen ja privaattiavain toiselle paikkaan josta haluat päästä kirjautumaan.
+
Kopioi privaattiavain toiselle paikkaan josta haluat päästä kirjautumaan.
  
 
   ssh-copy-id -i /root/.ssh/id_rsa.pub root@server2
 
   ssh-copy-id -i /root/.ssh/id_rsa.pub root@server2
  
Voit siirtää sen manuaalisesti kotikansiossa olevaan .ssh kansion alle.
+
Luo hakemisto ssh:lle jos sitä ei ole
 +
 
 +
  mkdir -p ~/.ssh/
 +
 
 +
Kopioi public key authorized_keys tiedostoon.
 +
 
 +
  cat id_rsa.pub >> ~/.ssh
  
 
Testaa kirjautuminen  
 
Testaa kirjautuminen  
  
 
  ssh root@server1
 
  ssh root@server1
 +
 +
=== Avaimet toiselle käyttäjätilille ===
 +
 +
Luodaan julkinen ja privaattiavain toiselle käyttäjätilille
 +
 +
  ssh-keygen -t rsa -b 2048 -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
 +
<pre>
 +
Host server1.example.org
 +
  IdentityFile ~/.ssh/id_rsa
 +
  User username
 +
Host server2.example.org
 +
  IdentityFile /backup/home/userName/.ssh/id_rsa
 +
</pre>
 +
 +
Yhdistä palvelimelle
 +
 +
  ssh server1.example.org
 +
 +
ja pitäisi mennä suoraan sisään ilman -i parametriä.
 +
 +
[[Luokka:Linux|Ssh]]
 +
 +
== 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 <code>/etc/ssh/sshd_config</code> 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 [email protected]
 +
 +
Tässä toinen esimerkki, jossa on tehty tunneloini paikallisesta 2222 portista etäkoneen porttiin 22 (ssh).
 +
 +
ssh -L 2222:server2.local:22 [email protected]
 +
 +
== SFTP ==
 +
 +
Konfiguroi SFTP:
 +
 +
  nano /etc/ssh/sshd_config
 +
 +
<pre>
 +
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
 +
</pre>
 +
 +
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.
  
 
</translate>
 
</translate>
  
 
[[Luokka:Linux|Ssh]]
 
[[Luokka:Linux|Ssh]]

Nykyinen versio 9. maaliskuuta 2019 kello 18.21

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 -t rsa -b 2048 -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_rsa
  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 [email protected]

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

ssh -L 2222:server2.local:22 [email protected]

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: