doc/pages/02.administer/15.admin_guide/15.command_line/command_line.it.md

126 lines
5.8 KiB
Markdown
Raw Normal View History

2020-11-11 11:47:10 +01:00
---
title: SSH
template: docs
taxonomy:
category: docs
routes:
default: '/ssh'
2021-02-06 23:27:51 +01:00
aliases:
- '/commandline'
page-toc:
active: true
2020-11-11 11:47:10 +01:00
---
2019-05-04 12:13:22 +02:00
2020-12-25 19:27:26 +01:00
## Cos'è SSH?
2019-05-04 12:13:22 +02:00
2020-09-22 22:27:52 +02:00
**SSH** sta per Secure Shell, un protocollo che permette di controllare da remoto un computer usando l'interfaccia a linea di comando (command line interface, CLI in inglese). È disponibile di default in ogni emulazione di terminale su GNU/Linux e macOS. Su Windows è possibile usare [MobaXterm](https://mobaxterm.mobatek.net/download-home-edition.html) (dopo averlo avviato si deve cliccare su Session e poi SSH).
2019-05-04 12:13:22 +02:00
2020-09-14 11:23:05 +02:00
## Durante l'installazione di YunoHost
2019-05-04 12:13:22 +02:00
### Individuare il proprio IP
2019-05-04 12:13:22 +02:00
Se stai installando su un VPS allora il provider dovrebbe averti indicato il tuo indirizzo IP.
Se stai installando su un computer casalingo (ad esempio un Raspberry Pi o un OLinuXino) devi individuare l'indirizzo IP che è stato attribuito al computer dopo averlo collegato al router. Questi sono alcuni sistemi:
2019-05-04 12:13:22 +02:00
- avvia un terminale e dai il comando `sudo arp-scan --local` per elencare gli indirizzi IP sulla rete locale;
- usa l'interfaccia del router per vedere la lista dei computer collegati o controllane i log;
2021-07-12 21:30:20 +02:00
- collega un monitor al tuo server YunoHost, fai login e digita `hostname --all-ip-address`.
2019-05-04 12:13:22 +02:00
### Collegamento
2019-05-04 12:13:22 +02:00
Se come esempio il tuo indirizzo IP è `111.222.333.444` avvia un terminale e digita:
```bash
ssh root@111.222.333.444
```
Ti verrà richiesta una password. Nel caso tu stia utilizzando un VPS questa ti dovrebbe essere stata comunicata dal provider. Se invece stai utilizzando un'immagine pre-installata (per computer di tipo x86 o ARM) la password sarà `yunohost`.
2021-02-07 03:46:29 +01:00
! Dalla versione 3.4 di YunoHost, dopo aver completato il processo di post installazione, non sarà più possibile fare login da `root`: invece **sarà necessario fare login usando l'utente `admin`!**. Nel caso in cui il server LDAP non stia funzionando e l'utente `admin` sia inutilizzabile sarà sempre possibile fare login da `root` solo dalla rete locale.
2019-05-04 12:13:22 +02:00
### Cambio della password
2019-05-04 12:13:22 +02:00
Dopo esserci loggati per la prima volta è necessario cambiare la password di root e ti dovrebbe essere richiesto dal server stesso; nel caso in cui questo non accada usa il comando `passwd`. È importante scegliere una password ragionevolmente robusta. Nota che la password di root verrà sovrascritta dalla password di admin dal processo di postinstallazione.
## Dopo l'installazione
Se hai installato il server a casa e stai provando a collegarti dall'esterno della tua rete locale verifica che la porta 22 sia regolarmente forwardata al server. (Ricorda, dalla versione 3.4 di YunoHost dovrai usare l'utente `admin`!).
Se conosci esclusivamente l'indirizzo IP del tuo server:
```bash
ssh admin@111.222.333.444
```
Dopo di che dovrai inserire la password di amministratore creata nella [procedura di postinstallazione](/postinstall).
2019-05-04 12:13:22 +02:00
Se invece hai configurato il DNS (o hai modificato il file `/etc/hosts`), puoi semplicemente usare il tuo nome di dominio:
```bash
ssh admin@your.domain.tld
```
Se hai modificato la porta in ascolto per SSH devi aggiungere l'opzione `-p <portnumber>` al comando, cioè:
```bash
ssh -p 2244 admin@your.domain.tld
```
2021-02-07 03:53:10 +01:00
!!! Se sei loggato come `admin` ma vuoi usare l'utente `root` per maggiore comodità (ad esempio per evitare di scrivere `sudo` prima di ogni comando) puoi usare il comando `sudo su`.
2019-05-04 12:13:22 +02:00
## Utenti abilitati
2020-09-22 22:27:52 +02:00
Di default solo l'utente `admin` può loggarsi al server SSH di YunoHost.
2019-05-04 12:13:22 +02:00
Gli utenti creati dall'interfaccia di amministrazione sono gestiti dalla directory LDAP e di default non possono connettersi via SSH per ragioni di sicurezza. Se invece vuoi abilitare all'accesso SSH alcuni utenti usa il comando:
```bash
2021-07-12 21:19:15 +02:00
yunohost user permission add ssh.main <username>
2019-05-04 12:13:22 +02:00
```
2020-09-22 22:27:52 +02:00
È sempre possibile eliminare l'accesso SSH con il comando:
2019-05-04 12:13:22 +02:00
```bash
2021-07-12 21:19:15 +02:00
yunohost user permission remove ssh.main <username>
2019-05-04 12:13:22 +02:00
```
2020-09-22 22:27:52 +02:00
Infine è possibile aggiungere, eliminare ed elencare le chiavi SSH, usate per migliorare la sicurezza degli accessi SSH con i comandi:
2019-05-04 12:13:22 +02:00
```bash
yunohost user ssh add-key <username> <key>
yunohost user ssh remove-key <username> <key>
yunohost user ssh list-keys <username>
```
## Sicurezza e SSH
2020-09-22 22:27:52 +02:00
N.B.: `fail2ban` bannerà il tuo IP per 10 minuti nel caso di almeno 5 tentativi di accesso falliti. Se devi togliere il ban al tuo IP leggi la pagina relativa [Fail2Ban](/fail2ban)
2019-05-04 12:13:22 +02:00
2020-03-28 06:54:10 +01:00
Una discussione più approfondita relativa a sicurezza & SSH è su [questa pagina](/security).
2021-02-06 23:27:51 +01:00
2021-07-12 21:30:20 +02:00
## YunoHost command line
2021-02-06 23:27:51 +01:00
!!! Providing a full tutorial about the command line is quite beyond the scope of the YunoHost documentation : for this, consider reading a dedicated tutorial such as [this one](https://ryanstutorials.net/linuxtutorial/) or [this one](http://linuxcommand.org/). But be reassured that you don't need to be a CLI expert to start using it !
The `yunohost` command can be used to administrate your server and perform the various actions similarly to what you do on the webadmin. The command must be launched either from the `root` user or from the `admin` user by preceeding them with `sudo`. (ProTip™ : you can become `root` with the command `sudo su` as `admin`).
YunoHost commands usually have this kind of structure :
2021-02-06 23:27:51 +01:00
```text
2021-02-06 23:27:51 +01:00
yunohost app install wordpress --label Webmail
^ ^ ^ ^
| | | |
category action argument options
```
Don't hesitate to browse and ask for more information about a given category or action using the the `--help` option. For instance, those commands :
2021-02-06 23:27:51 +01:00
```bash
yunohost --help
yunohost user --help
yunohost user create --help
```
will successively list all the categories available, then the actions available in the `user` category, then the usage of the action `user create`. You might notice that the YunoHost command tree is built with a structure similar to the YunoHost admin pages.