Existe uma maneira de padronizar seu usuário ssh para algo diferente do seu nome de usuário atualmente logado?

0

Eu uso uma VM em casa para o trabalho. Meu trabalho consiste em ssh para vários computadores todos os dias para várias coisas ... usar a notação ssh user@server é fácil o suficiente para isso, mas encontrei alguns problemas com alguns scripts em que estou trabalhando. Quando meus scripts são executados, ele está tentando usar ssh em caixas usando meu usuário atual em vez do usuário associado à minha conta LDAP no trabalho (e, portanto, não reconhecendo minha chave privada). Mais especificamente, meu usuário em casa é caleb , enquanto meu usuário no trabalho é ctote .

Existe uma maneira de modificar meu .bashrc ou .ssh configs para forçar o ssh a sempre usar ctote ao tentar se conectar?

    
por ctote 10.12.2014 / 15:50

2 respostas

3

Sim, use a configuração do cliente SSH. A maneira mais fácil é criar uma configuração de usuário local em ~/.ssh/config com estas duas linhas:

Host *
User ctote

Isso corresponde a todos os hosts e aplica o nome de login ctote a ele.

Para aplicá-lo / sobrescrevê-lo para um único host, você conecta-se a, por exemplo:

Host myhost
User myusername
Hostname server01.subdomain01.longnamehuh.tld
Port 2222

para fazer

ssh [email protected] -p2222

em

ssh myhost

Bônus: também funciona para o sftp / scp / git etc. E você também pode fazer mágica como este caso de uso: Como faço para o SSH? a máquina A via B em um comando? .

Dê uma olhada na página de manual da configuração do cliente SSH para mais opções que você pode especificar e qual é a sintaxe exata.

man ssh_config
    
por gertvdijk 10.12.2014 / 15:54
2

Claro, você pode criar um arquivo ~/.ssh/config e nisso:

Host laptop
    User another-user

Você pode especificar a maioria das opções de SSH por meio de opções de correspondência de host como esta.

    
por Oli 10.12.2014 / 15:54