Tente:
sftp -o "IdentityFile=keyname" [email protected]
Você pode usar -o
para passar qualquer opção válida em ~/.ssh/config
.
Eu não consigo scp, o outro servidor só usa conexões sftp.
Atualmente, estou tentando fazer
sftp [email protected]:/files> put -r ~/
-i keyname
não funciona, apenas resolve com illegal option -- i
.
Tente:
sftp -o "IdentityFile=keyname" [email protected]
Você pode usar -o
para passar qualquer opção válida em ~/.ssh/config
.
Copie sua chave PUBLIC para o servidor usando os meios tradicionais.
No servidor:
.ssh
, se não existir: [[ ! -d "${HOME}/.ssh" ]] && mkdir -p "${HOME}/.ssh"
cat /path/to/public_key.pub >> "${HOME}/.ssh/authorized_keys"
chmod go-rwx "${HOME}" "${HOME}/.ssh/authorized_keys"
Depois disso, você poderá fazer login a partir do cliente usando a chave PRIVATE. Para automatizar uma transferência, você deseja usar um arquivo em lote, que é apenas um arquivo de texto contendo uma lista de comandos a serem executados.
echo "put filename.foo /safe/path/filename.foo" >> /tmp/batchfile.txt sftp -b /tmp/batchfile.txt -oIdentityFile=/path/to/private_key user@host
Como alternativa, sinta-se à vontade para criar um arquivo ~ / .ssh / config no formato ssh_config para que você possa digitar isso no futuro:
sftp -b /tmp/batchfile.txt host
Amostra de conteúdo de ~/.ssh/config
Host the_hostname User user_name IdentityFile /path/to/private_key
Se você quiser configurar o sftp no ec2, este artigo pode ajudar
Entrei nessa edição recentemente e o que funcionou para mim na configuração do meu terminal padrão do macbook é o seguinte
sftp -i ./privateFilePath.key [email protected]
Note que você pode ser promovido com a mensagem UNPROTECTED PRIVATE KEY FILE! , caso em que você precisa executar este comando para garantir que sua chave privada não seja acessível por outras pessoas.
chmod 600 privateFilePath.key
Em alguns casos, você precisa colocar sudo na frente do comando, isso é somente se você estiver trabalhando em um diretório protegido por admin
Eu gostaria que isso fosse útil :)
Tags ssh authentication sftp amazon-ec2 unix