$ ssh-copy-id "-p 8129 user@host"
Fonte: link diferente-port.html ">
NOTA: A porta deve estar na frente do usuário @ host ou não será resolvida
Eu tenho um servidor com SSH em execução em uma porta não padrão. Em vez de 22, ele é executado em 8129. Para fazer o login, eu uso:
ssh -p 8129 hostname
Agora, sempre que eu precisar configurar uma chave para login sem senha, eu tenho que copiar a chave pública e adicioná-la manualmente às authorized_keys. Eu descobri que o comando ssh-copy-id
poderia ser usado para simplificar esse processo, mas parece que ele não tem uma opção para especificar a porta do servidor ssh.
Existe alguma maneira de dizer ssh-copy-id
para usar a porta 8129, ou eu deveria esquecer este comando e copiar / colar manualmente como antes?
ssh-copy-id
não aceita nenhum argumento que possa ser passado para o comando ssh
subjacente, mas você pode configurar um alias em ~/.ssh/config
.
Host myhost
HostName hostname
Port 8129
Em seguida, execute ssh-copy-id myhost
.
A partir do openssh-client_6.2, existe agora um sinalizador de porta dedicada para o comando que permite esta sintaxe:
ssh-copy-id -p 8129 user@example
Ele também adicionou suporte para adicionar outras opções ssh com o sinalizador -o.
Aqui está a página do manual do Ubuntu para a versão apropriada, apresentada em 13.04: link
Uma rápida olhada na fonte indica que ssh-copy-id
parece não ter nenhuma função que permita isso. No entanto, você pode fazer algo como o seguinte:
ssh -p8129 user@host 'cat >> ~/.ssh/authorized_keys' < ~/.ssh/id_*.pub
Isso funciona (de aqui ):
ssh-copy-id -i ~/.ssh/id_rsa.pub '-p 221 username@host'
Eu sempre usei scp
para copiá-lo:
scp -P 8129 ~/.ssh/id_*.pub user@host:
ssh -p 8129 user@host 'cat id_*.pub >> ~/.ssh/authorized_keys'
Embora eu deva dizer, provavelmente usarei os outros métodos (de uma linha / conexão) se eu me lembrar deles no futuro. Mas esta é outra opção para você.
No CentOS7 é apenas:
ssh-copy-id "-p 1234" user@host
Por favor, tome cuidado para não colocar user @ host entre aspas ou você receberá o seguinte erro nesta distribuição:
/usr/bin/ssh-copy-id: ERROR: Bad port ' 1234 user@host'
Com o meu macOS, isso funcionou.
ssh-copy-id -i ~/.ssh/id_rsa.pub -p <port> user@host
Eu uso este comando:
ssh-copy-id ssh://user@ip_addr:port
Exemplo:
ssh-copy-id ssh://[email protected]:23
Tags ssh