Come effettuare l'accesso ssh come l'utente giusto?


8

Uso ssh su una varietà di macchine, principalmente Linux. Gli account su queste macchine variano nello schema di denominazione: se il mio nome è First Last, allora ho account: first, flast, last_f, lastf, e talvolta ho bisogno di accedere come root. Per ogni macchina che uso, vorrei che il client openssh sapesse quale account usare quando non lo specifico sulla riga di comando.

Quindi la domanda è: come faccio a fare ssh serverla cosa giusta quando non viene specificato un nome utente?

Risposte:


18

È possibile creare un configfile nella .sshdirectory principale, che può specificare un utente predefinito, un file di identità ecc. E assegnarlo a un alias che è possibile utilizzare per connettersi.

Ad esempio, potresti inserirlo nel ~/.ssh/configfile:

Host example
    HostName example.com
    User first_last
    IdentityFile ~/.ssh/example_rsa
    Port 22
    RSAAuthentication yes
    PubkeyAuthentication yes

Host example2
    HostName example2.com
    User last_first
    # other parameters as needed

Quindi puoi semplicemente digitare ssh exampleo ssh example2sulla riga di comando per connetterti.

Quindi puoi configurarne uno per ogni macchina a cui vuoi connetterti, con l'utente interessato. Quindi basta usare gli alias per connettersi senza dover specificare un utente. È inoltre possibile utilizzare un modello per abbinare più host.

Ci sono maggiori informazioni e dettagli su cosa puoi specificare in un file di configurazione nella pagina man ssh_config .


3
Assolutamente, puoi specificare quanti ne vuoi nello stesso file .config. Ne ho più di 20 senza problemi. Lascio solo uno spazio tra ogni Host distinto, che probabilmente non è richiesto, ma lo rende più leggibile.
Rich Adams,

1
Non dovrebbe essere un configfile? Senza punto all'inizio?
danadam,

1
@rich stava cercando di farti mostrare un altro sito nel tuo esempio; spero non ti dispiaccia che io vada avanti e lo lancio.
Quack Quixote,

4
Il rientro di tutto tranne le righe che contengono "Host foo" aiuta notevolmente la causa della manutenibilità.
innaM

1
@CristianCiupitu: Considerando che si tratta di una domanda Linux, difficilmente chiamerei la pagina man di OpenBSD quella ufficiale. Ci sono opzioni in ssh di Linux (ad es. GSSAPIKeyExchange ) che non sono disponibili nella versione BSD.
Dennis,

1

Secondo la risposta di Rich Adam, ho scoperto PuTTY dove memorizza le sue impostazioni.

È tutto memorizzato in un albero del registro, lo troverai sotto HKEY_CURRENT_USER\Software\SimonTatham(Simon Tatham è lo sviluppatore di PuTTY).
Lì puoi vedere come viene definito un host.


1

Se vuoi cambiarlo per OGNI sito:

Modifica il tuo ~/.ssh/configper avere questo:

Host *
    User buck
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.