Como usar o comando openssh sftp com uma chave RSA / DSA especificada na linha de comando

26

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.

    
por Adi Roiban 26.05.2011 / 10:02

3 respostas

32

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.

    
por 26.05.2011 / 10:55
10

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 ...
    
por 26.05.2011 / 10:45
6

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

    
por 26.05.2011 / 10:42