Usuário SSH padrão no Linux

11

Qual é a entrada que devo adicionar ao meu arquivo .bashrc para que eu possa especificar um usuário padrão para fazer conexões SSH? Por exemplo, se eu quiser que seja root e queira SSH para x, se eu digitar ssh x , ele deve usar como padrão a conexão de ssh root@x .

Por padrão, o Linux parece ser o padrão para qualquer usuário com o qual você esteja logado. Ou seja, se eu estiver logado como "peter", digitar ssh x resultará em uma conexão de ssh peter@x .

Tenha em mente que ainda quero substituir o padrão às vezes, fazendo algo como

alias ssh='ssh root@'

não é a solução mais ideal.

    
por Peter 11.02.2014 / 06:48

2 respostas

29

Uma solução melhor do que colocar um alias em seu bashrc, seria usar um arquivo de configuração ssh

cat ~/.ssh/config

HOST *  
     USER root

Você também pode especificar determinados subdomínios para determinados usuários. Útil se o seu laptop viajar entre redes.

HOST 192.168.*.*
     USER homeuser

HOST 10.2.*.*
     USER workuser

Você pode até mesmo configurar por domínios e usar chaves ssh diferentes para domínios diferentes.

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

HOST *.apple.com
     USER steve
     IdentityFile ~/.ssh/apple/id_rsa
    
por 11.02.2014 / 07:10
1

Você pode fazer um alias para o ssh usando a opção -l, então:

alias ssh='ssh -l defaultuser'

A opção -l fornece o usuário de login, mas o interessante é que o usuário, se houver, dado antes da informação do host sobrepõe isso. Então, se você começar

ssh host

Depois de definir o alias acima, ele fará o login como defaultuser, enquanto se você iniciar

ssh newuser@host

De qualquer forma, obterá newuser e não defaultuser da opção "-l"

Isso funciona pelo menos em algumas instalações do OpenSSH que vêm com distribuições padrão do Linux.

    
por 11.02.2014 / 06:57

Tags