Eu quero fazer uma conexão ssh sem senha para um projeto de subversão. No momento, estou usando ssh + svn, e é um pouco chato, porque tenho que digitar a senha a qualquer momento que quiser fazer transações com o servidor.
Encontrei vários tutoriais na web sobre como gerar uma chave para ssh sem senha, mas todos parecem supor que estou usando o mesmo nome de usuário no sistema remoto e o meu sistema doméstico. No entanto, o nome de usuário que eu uso para ssh + svn é diferente do nome da conta de usuário no sistema que estou executando. Como faço para configurar isso corretamente? Não tive sorte em mudar o nome no arquivo de chaves.
fonte
.ssh/id_rsa.pub
e enviá-lo para o servidor remoto. Quando eu fiz isso, terminou com localusername @ localsystem. Isso deve ser alterado para remoteusername @ remotesystem, certo? Local e remotamente?id_rsa.pub
paraauthorized_keys
no sistema remoto. Vai dar certo.Existem duas maneiras de fazer isso:
1) coloque o usuário @ no svn url; isto diz ao svn + ssh para fazer login como esse usuário. Eu acho que é uma má idéia do ponto de vista de manutenção, porque coisas como externas que apontam para outras partes do repositório não funcionarão corretamente.
2) faça um ~ / .ssh / config (documentado como ssh_config ) que diz algo como:
dessa forma, qualquer tentativa de ssh para o sistema others usará o padrão otheruser. O que é útil para você quando executar o ssh manualmente e quando estiver usando o svn.
fonte
Você não precisa ter o mesmo nome de usuário nos dois mashines. Contanto que você gere a chave (
ssh-keygen
), você deve copiar a linha de~/.ssh/id_rsa.pub
ou~/.ssh/id_dsa.pub
(dependendo do tipo de chave) do servidor local e anexá-la ao~/.ssh/authorized_keys
controle remoto.Se você não deseja digitar
remoteuser
sempre, anexe-o a~/.ssh/config
:PS. O nome da chave pode estar na forma de,
localuser@localhost
mas é apenas um nome . Pode ser tão bommyfavouritekey@myfavouritecomputer
e ninguém se importaria.fonte
ssh-copy-id
script comum, mas não padrão, mencionado acima. Eu o reconheço porque nem todos os sistemas que eu uso vêmssh-copy-id
, então eu digitei algo assim mais do que algumas vezes. :)ssh-copy-id
. Eu costumo usarvim
ouseahorse
;)Depois de criar .ssh / config e executar:
Eu recebo erro:
então eu adiciono
chmod 600 .ssh/config
, e depois disso, está funcionando perfeitamente.fonte