Uma possível opção é usar sftp -oIdentityFile=/path/to/private/keyfile
. Precisa de mais informações para dizer se isso funcionará para você. Parece funcionar em Mac / Linux.
O comando Openssh ssh e scp forneceu uma opção de linha de comando -i
para especificar o caminho para a chave RSA / DSA a ser usada para autenticação.
Olhando para as páginas man do sftp, não consegui encontrar uma maneira de especificar a chave RSA / DSA.
Estou procurando uma maneira de iniciar uma sessão sftp que use uma chave RSA / DSA especificada e não as teclas ~ / .ssh / id_ {dsa, rsa}.
Eu tentei o cliente sftp OpenSSH no Linux ... mas ele deve ter as mesmas opções em outras plataformas.
Você pode simplesmente usar o argumento -i
para o seu comando sftp ou ssh.
sftp -i /path/to/private/keyfile ...
Se a opção -i não estiver disponível, você pode usar a opção -o com uma sintaxe como:
sftp -oIdentityFile=/path/to/private/keyfile ...
Você pode criar um arquivo de configuração alternativo para a conexão e usar a opção -F
para informar ao ssh para usá-lo. criar um arquivo de configuração, por exemplo ~ / .ssh / config.sftp com o conteúdo
Host remote.host.tld
User RemoteUserName
IdentityFile /path/to/atlernate/identityfile
ligue para o sftp assim
sftp -F ~/.ssh/config.sftp remote.host.tld
Connecting to remote.host.tld...
Enter passphrase for key '/path/to/atlernate/identityfile':
sftp>
A configuração acima restringe o uso da chave alternativa (quando este arquivo de configuração é usado) para o usuário RemoteUserName em remote.host.tld.
Dê uma olhada na página man do ssh_confg para o uso do arquivo de configuração alternativo