Cookie

SSH-аутентификация с ключами

Опубликовано TheJoe на

Приблизительное время чтения: 2 минут

SSH-протокол (Безопасная оболочка) это зашифрованный протокол, используемый для установления безопасных соединений между двумя машинами.: е клиент-сервер. Сам по себе это уже довольно безопасный протокол, но с ключами SSH вы можете закрыть доступ SSH только к определенным машинам. Вот как.

In questa mini-guida vedremo come impostare un accesso SSH ad una macchina “сервер” autenticandoci senza password. Con questa configurazione solo chi ha le giuste chiavi SSH potrà accedere al server. In questo esempio useremo i seguenti indirizzi IP:

  • Клиент: 192.168.5.114
  • сервер: 192.168.5.10

Uno dei requisiti fondamentali è che l’utente che genera la chiave SSH abbia un account abilitato e che appartenga al gruppo sudoers su entrambe le macchine.

Generare la chiave sul server

Per prima cosa generiamo la chiave SSH sul server. Logghiamoci sul server (direttamente o tramite SSH tradizionale) e lanciamo questo comando.

~$ ssh-keygen -t rsa

Mentre viene creata la chiave avremo la possibilità di associare o meno una password. Consiglio di associare la password a meno che non esistano impedimenti particolari tali da dover disabilitare la password al login. Ad ogni modo avremo due possibilità entrambe sicure.

Copiare la chiave sul client

Una volta completato il comando dovremo lanciarne un altro per copiare la chiave generata sul client.

~$ ssh-copy-id -i $HOME/.ssh/id_rsa.pub USER@192.168.5.114

USER è l’utente registrato sul client che useremo per loggarci sul server.

Parto dal presupposto che queste operazioni vengano eseguite all’interno di una LAN, ma se così non fosse occorre trovare il modo di copiare la chiave generata in ~/.ssh/id_rsa.pub nel client in utilizzo tramite ad esempio una condivisione FTP, una mail o addirittura un wormhole.

Смотри сюда:  терминал: удалить историю команд

Testare la connessione

Alla fine sarà il caso di testare l’effettivo funzionamento. Torniamo sul client e lanciamo il comando:

~$ ssh -v USER@192.168.5.10

USER è l’utente in ascolto sul server.

Se abbiamo configurato la chiave SSH senza una password verremo immediatamente loggati sul server, al contrario se abbiamo impostato una password alla chiave, questa verrà richiesta ora.

Disabilitare l’autenticazione tramite password utente

Se ci siamo loggati con successo sul server potremmo voler configurare l’accesso in modo che non accetti connessioni tramite password utente. Мы открываем файл /etc/ssh/sshd_config con un editor e aggiungiamo una riga in fondo al file come segue:

PasswordAuthentication no

Riavviamo il servizio SSH:

~$ sudo service ssh restart

Ora se provassimo a loggarci nuovamente sul server non potremo farlo senza la chiave SSH generata. Una volta che siamo certi che tutto funzioni correttamente potremo condividere la chiave (usando il comando ssh-copy-id dal server) con gli utenti a cui vorremo concedere l’accesso.

Qualora l’unico modo di accedere al server fosse tramite SSH attenzione a non perdere le chiavi, o non potremo entrare in macchina.


TheJoe

Я держу это в качестве хобби блог от 2009. Я графики энтузиастов, технология, Программное обеспечение с открытым исходным кодом. Среди моих статей не будет трудно найти о музыке, и некоторые личные размышления, но я предпочитаю, чтобы направить линию блога в основном технологии. Для получения дополнительной информации связаться со мной.

0 Комментарии

оставьте ответ

Заполнитель аватара

Ваш электронный адрес не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатывается комментарий данных.