Domyślny użytkownik SSH w systemie Linux

14

Jaki wpis powinienem dodać do .bashrcpliku, aby móc określić domyślnego użytkownika do nawiązywania połączeń SSH? Na przykład, jeśli chcę, aby był rootem i SSH do x, jeśli piszę ssh x, powinno domyślnie mieć połączenie ssh root@x.

Domyślnie Linux wydaje się być domyślny dla każdego użytkownika, którego jesteś zalogowany. To znaczy, jeśli jestem zalogowany jako „piotra”, pisanie ssh xspowoduje połączenie ssh peter@x.

Pamiętaj, że czasami chcę zastąpić domyślną wartość, więc robiąc coś takiego

alias ssh='ssh root@'

nie jest najbardziej idealnym rozwiązaniem.

Piotr
źródło

Odpowiedzi:

34

Lepszym rozwiązaniem niż umieszczenie aliasu w bashrc byłoby użycie pliku konfiguracyjnego ssh

cat ~/.ssh/config

HOST *  
     USER root

Możesz także określić, że niektóre subdomeny korzystają z określonych użytkowników. Przydatne, jeśli laptop podróżuje między sieciami.

HOST 192.168.*.*
     USER homeuser

HOST 10.2.*.*
     USER workuser

Możesz nawet konfigurować według domen i używać różnych kluczy ssh dla różnych domen.

HOST *.microsoft.com
     USER bill
     IdentityFile ~/.ssh/microsoft/id_rsa

HOST *.apple.com
     USER steve
     IdentityFile ~/.ssh/apple/id_rsa
spuder
źródło
1
Zauważ, że podczas sshskanowania pliku konfiguracyjnego użyje pierwszego znalezionego dopasowania, więc umieść najmniej konkretne dopasowania na dole pliku.
mwfearnley
0

Możesz zrobić alias do ssh używając opcji -l, więc:

alias ssh = 'ssh -l defaultuser'

Opcja -l daje loginowi użytkownika, ale interesujące jest to, że użytkownik, jeśli taki istnieje, podany przed informacją o hoście, zastępuje to. Więc jeśli zaczniesz

host ssh

Po ustawieniu powyższego aliasu zaloguje się on jako defaultuser, a jeśli zaczniesz

ssh newuser @ host

W każdym razie dostanie newuser, a nie defaultuser z opcji „-l”

Działa to przynajmniej w kilku instalacjach OpenSSH, które są wyposażone w standardowe dystrybucje Linuksa.

fede.evol
źródło
Korzystanie z pliku ~ / .ssh / config jest zdecydowanie preferowanym podejściem, ponieważ twoje może mieć niezamierzone skutki uboczne.
dovetalk