Bash simples one-liner para auto-login ssh

6

Estou procurando um comando de uma linha relativamente simples para bash que desativará o prompt de senha no futuro ssh logins (ou, de preferência, apenas o próximo ssh login), bem como uma maneira de reverter (a inversão não precisa ser uma linha única).

Isso é possível?

    
por Theo C 16.08.2017 / 17:37

3 respostas

11

Simplesmente ssh-copy-id [email protected] para compras completas para autenticação de pares de chaves.

Se você ainda não tem um par de chaves, gere um: ssh-keygen && ssh-copy-id [email protected] .

    
por 16.08.2017 / 17:50
7

Você pode configurar ssh-keys , o que permite que você faça login no seu servidor sem nenhuma senha. Copie o sshkey do seu PC de ~/.ssh/idrsa.pub para o servidor ao qual você deseja se conectar, usando ssh-copy-id user@host .

Isso permitirá que seu PC se conecte ao servidor sem uma senha usando a opção ssh -A user@host

Se idrsa.pub não existir, você poderá criá-lo usando o comando ssh-keygen

Isso pode não ser um folheto, mas isso pode resolver seu problema. e é muito fácil de configurar.

    
por 16.08.2017 / 17:44
1

As respostas dadas aqui estão corretas, mas quando você está escrevendo script para isso, o simples scp não funciona. Porque você precisa permitir que a chave pública do servidor (impressão digital) seja conectada pela primeira vez. Portanto, ao escrever o script, você precisa ignorar isso adicionando a opção -o StrictHostKeyChecking=no . Então agora seu one-liner será ssh-copy-id -o StrictHostKeyChecking=no [email protected]

e se ainda não criou suas chaves ssh, então ssh-keygen -t rsa -f ~/ -q -P "" & ssh-copy-id -o StrictHostKeyChecking=no [email protected]

    
por 18.08.2017 / 16:08

Tags