SSH - Come includere "-t command" nel file ~ / .ssh / config


13

Uso il ~/.ssh/configfile in modo da poterlo inserire facilmente ssh myservere fornirà il nome utente, la porta, il nome host, il file di identità, ecc. Corretti

Tuttavia, per molti server, la prima cosa che faccio è accedere su -per accedere come root. Posso fare tutto questo in un unico comando sulla riga di comando in questo modo: ssh myserver -t su -. C'è qualcosa che posso aggiungere al mio ~/.ssh/configfile che lo farà per me? Voglio essere in grado di fare ssh myserver-roote farà la stessa cosa di ssh myserver -t su -?

Lo so PermitRootLogin, questo è disattivato per questo server e sono riluttante ad accenderlo. Preferirei vedere se c'è un modo per farlo usando ssh sul lato client.

Risposte:


10

Penso che mi avvicinerei a questo dall'altra direzione - usa 'command =' sulla voce della chiave pubblica nel tuo file ~ / .ssh / authorized_keys sul server remoto, per eseguire il tuo comando "su -".

Quindi usa / fai riferimento alla chiave privata nel tuo file ~ / .ssh / config (opzione IdentityFile) per ogni host / alias ("myserver-root") che vuoi lavorare in questo modo.

Le opzioni disponibili in authorized_keys (5) sono documentate in sshd (8).


Sì, fa esattamente quello che voglio. :) Ho il pieno controllo del file ~ / .ssh / authorized_key sul server e non ho problemi a cambiarlo.
Rory,


3

Perché non aggiungere uno script a una directory nel tuo percorso (o un alias per esso) chiamato rssh come:

#!/bin/bash
ssh $1 -t 'su -'

Quindi è solo:

rssh myServer

1

Non ho trovato alcuna opzione di configurazione per l'allocazione pseudo-tty nella fonte OpenSSH.

Ma posso dare un suggerimento su PermitRootLogin, impostarlo su:

PermitRootLogin without-password

E consenti solo accessi root con ssh-keys.


1

Che ne dici di aggiungere qualcosa del genere in ~ / .bashrc sul lato server?

if [ "$SSH_TTY" != "" ]; then su -; logout; fi

1

La migliore risposta è probabilmente una combinazione di rkthkr e jrg . Utilizzare PermitRootLoginper richiedere una chiave, quindi inserire la chiave solo con la commandparola chiave nel file root_manys root.

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.