Novo no Ubuntu, entrei no servidor remoto da minha instituição gerando um par de chaves privada/pública. Fui configurado com um nome de usuário depois de enviar a chave pública ao administrador. Eu deveria ter conseguido fazer login usando ssh myusername@servername
, mas só consigo fazer login se substituir o nome do servidor pelo endereço IP,ssh [email protected]
Agora, querendo fazer upload de um arquivo, tentei:
scp ~/myfile.rds myusername@servername:/home/myusername/
...o que me deu uma Permission denied (publickey). lost connection
mensagem. O administrador sugeriu tentar novamente, substituindo servername pelo endereço IP. Isso faz sentido, mas ainda é a mesma resposta.
Meu arquivo de configuração, salvo \\wsl$\Ubuntu\home\myUbuntuUsername\.ssh
junto com as duas chaves, diz:
Host servername
HostName xxx.xx.x.xx
Port 22
User myusername
IdentityFile ~/.ssh/id_ed25519
...onde ~/.ssh/id_ed25519
está o caminho para a chave privada. O que eu poderia ter errado?
Responder1
Especificar o nome de usuário em seus comandos ssh
e scp
não deve ser necessário, pois o valor já está em seu ~/.ssh/config
arquivo. Em vez disso, você pode fazer isso:
ssh servername
Pois scp
é a mesma coisa:
scp myfile.gz servername:/path/to/save
Alternativamente, você pode passar o arquivo-chave para usar com -i
:
scp -i ~/.ssh/id_ed25519 myfile.gz [email protected]:/path/to/save