Como especificar a chave no SSHFS?

56

Eu tenho uma pergunta que não consegui encontrar uma resposta. Eu tenho dois computadores, ambos rodando o Ubuntu Linux 12.04. Eu configurei meu primeiro computador ("home") para poder usar o SSH no meu segundo computador ("remote") usando autenticação de chave RSA pública / privada.

Esta não é a primeira conexão SSH configurada usando a autenticação de chave em meu computador doméstico, portanto, meu computador doméstico possui vários arquivos de chaves privados id_rsa (cada um dos quais é para um computador diferente do SSH). Assim, só consigo especificar o SSH com êxito quando especifico um arquivo de chaves (em ssh , a opção -i ), usando ssh username@ipaddress -i path/to/keyfile/id_rsa.2 .

Isso funciona muito bem. No entanto, eu também gostaria de usar sshfs , que monta o sistema de arquivos remoto. Embora ssh pareça jogar com várias chaves, não consigo encontrar uma maneira de usar sshfs para usar a chave privada correta ("id_rsa.2").

Existe uma maneira de obter sshfs para fazer isso?

    
por J L 17.01.2013 / 01:41

3 respostas

74

Veja o que funciona para mim:

sshfs [email protected]:/remote/path /local/path/ -o IdentityFile=/path/to/key

Você pode descobrir isso por meio de man sshfs :

-o SSHOPT=VAL ssh options (see man ssh_config)

man ssh_config

IdentityFile

Specifies a file from which the user's DSA, ECDSA or DSA authen‐ tication identity is read.

    
por 17.01.2013 / 03:32
18

O que você precisa fazer é especificar qual chave privada deve ser usada no arquivo ~/.ssh/config . por exemplo:

Host server1.nixcraft.com
    IdentityFile ~/backups/.ssh/id_dsa
Host server2.nixcraft.com
    IdentityFile /backup/home/userName/.ssh/id_rsa
    
por 17.01.2013 / 03:30
1
sshfs -o ssh_command='ssh -i path/to/keyfile/id_rsa.2' username@ipaddress:/path /local/path
    
por 24.01.2017 / 16:28