Facebook  -  Twitter      

Questo forum fa uso dei cookie
Questo forum utilizza i cookie per memorizzare i dettagli del tuo login o della tua ultima visita. I cookie sono piccoli files di testo salvati nel computer; i cookie da noi utilizzati sono relativi unicamente ai servizi da noi forniti direttamente o dai banner pubblicitari. I cookie su questo forum salvano inoltre i dettagli relativi alle discussioni lette e alle tue preferenze personali. Sei pregato di selezionare il tasto OKAY se sei consapevole della presenza di questi files e ci autorizzi ad utilizarli per le informazioni specificate.

Indipendentemente dalla tua scelta un cookie verrà salvato per memorizzare nel tuo pc la risposta a questo form. Puoi modificare le impostazioni relative ai cookie nelle preferenze del tuo browser.

  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5
Login automatico su Routeros tramite ssh

#1
Molti di noi preferiscono lavorare su apparati Mikrotik o più in generale su Routeros o più ancora in generale su Linux/Unix usando una connessione ssh oltre ai comodi Winbox o similari.
(in questo esempio utilizzo un raspberry con raspbian ed un RouterBoard Mikrotik con routeros 6.19)

Non tutti sanno che tramite ssh (connessione più ricura sispetto al telnet) è possibile inviare comandi ad un host (router, client, ecc), per esempio per eseguire un reboot o uno shutdown, magari inserito in una procedura automatizzata di un qualunque genere...

Ma per poter fare ciò senza dover ogni volta, inserire la password (che automatizzazione sarebbe???) occore una breve serie di passaggi, descritta qui di seguito.

Per questioni di sicurezza conviene creare un utente ad hoc, in questo caso admin-ssh.
Generiamo una chiave publica ssh sull'host che dovrà connettersi al nostro routeros (la procedura vale in generale tranne che per l'ultimo comando che evidenzierò):

quando ci viene chiesto di inserire la passphrase premiamo 2 volte il tasto invio e aspettiamo che la procedura si comlpeti in pochi secondi

Codice:
root@raspberrypi:~/.ssh# ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/root/.ssh/id_dsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_dsa.
Your public key has been saved in /root/.ssh/id_dsa.pub.
The key fingerprint is:
19:ea:7f:26:xx:xx:xx:xx:xx:xx:xx:xx:47:0c:27:dc root@raspberrypi
The key's randomart image is:
+--[ DSA 1024]----+
|                            |
|  . .                       |
|   + E  .        |
|    =  . o       |
|     o. S        |
|..  ..           |
|oo.o o.          |
|+ o.+ ..o o      |
| ooo...+.+       |
+-----------------+

dopo di che dobbiamo copiare il file .pub appena creato
ci chiederà la passdw di admin...

Codice:
scp id_dsa.pub admin@router:

Adesso non ci resta che importare la chiave appena creata.
Questo sintassi è valida solo per routeros, altri sistemi operativi avranno comandi e sintassi diverse.

Codice:
/user ssh-keys import public-key-file=id_dsa user=admin-ssh

ed il gioco è fatto:

Codice:
root@raspberrypi:~/.ssh# ssh admin@router








  MMM      MMM       KKK                          TTTTTTTTTTT      KKK
  MMMM    MMMM       KKK                          TTTTTTTTTTT      KKK
  MMM MMMM MMM  III  KKK  KKK  RRRRRR     OOOOOO      TTT     III  KKK  KKK
  MMM  MM  MMM  III  KKKKK     RRR  RRR  OOO  OOO     TTT     III  KKKKK
  MMM      MMM  III  KKK KKK   RRRRRR    OOO  OOO     TTT     III  KKK KKK
  MMM      MMM  III  KKK  KKK  RRR  RRR   OOOOOO      TTT     III  KKK  KKK

  MikroTik RouterOS 6.19 (c) 1999-2014       http://www.mikrotik.com/

[?]             Gives the list of available commands
command [?]     Gives help on the command and list of arguments

[Tab]           Completes the command/word. If the input is ambiguous,
                a second [Tab] gives possible options

/               Move up to base level
..              Move up one level
/command        Use command at the base level

[admin@router] >

La procedura di importazione della chiave publica può essere facilmente eseguita anche da WinBox, dopo aver copiato il file, andando sotto SYSTEM USERS e cliccando sul tab SSH Keys ed ancora IMPORT SSH KEY, selezioniamo il file id_sda.pub dall'elenco a discesa e specifichiamo a quale utente dovrà essere collegata, in questo caso ADMIN.

Per ulteriore sicurezza ho creato un gruppo ad hoc dando solo i permessi strettamente necessari per l'esecuzione dei soli comandi che intendo utilizzare:
(il "!" davanti alla policy indica una negazione)
Esempio:

Codice:
/user group
add comment="Gruppo per utenza ssh-remoto" name=ssh-remote policy=ssh,ftp,reboot,!local,!telnet,!read,!write,!policy,!test,!winbox,!password,!web,!sniff,!sensitive,!api
/user
add comment="system default user" group=full name=admin
add group=read name=michele
add group=ssh-remote name=ssh-remote

Facendo varie prove ho capito che quando si importa una chiave publica e la si assegna ad un utente, il login con questo utente è possibile SOLO dalla macchina sulla quale si è generata la chiave che è stata importata, o meglio, la prima ad essere importata.

ad ogni modo uno dei possibili utilizzi è per esempio quello di voler spegnere o riavviare il router quando si verifica una determinata condizione:

Codice:
ssh ssh-remote@router /system reboot

In questo caso il router non mi ha chiesto di confermare il comando rispondendo y/n.
Cita messaggio

#2
spostato in guide ufficiali - server
Cita messaggio


[-]
Condividi/Segnala (Mostra tutti)
Facebook Linkedin Twitter

Discussioni simili
Discussione Autore Risposte Letto Ultimo messaggio
  Installare Transmission-Daemon e gestirlo tramite interfaccia WEB hamtarociaoo 0 1'132 28-06-2014, 11:11
Ultimo messaggio: hamtarociaoo
  Fix Login lento SSH Centos 6.x diceman 1 3'143 09-12-2013, 22:00
Ultimo messaggio: hamtarociaoo

Digg   Delicious   Reddit   Facebook   Twitter   StumbleUpon  


Utenti che stanno guardando questa discussione:
1 Ospite(i)


Powered by MyBB, © 2002-2017 MyBB Group.