SSHFS에서 키를 지정하는 방법은 무엇입니까?


69

답변을 찾을 수 없다는 질문이 있습니다. 우분투 리눅스 12.04를 실행하는 두 대의 컴퓨터가 있습니다. 공개 / 개인 RSA 키 인증을 사용하여 첫 번째 컴퓨터 ( "홈")를 두 번째 컴퓨터 ( "원격")로 SSH 할 수 있도록 설정했습니다.

이것은 내 가정용 컴퓨터에서 키 인증을 사용하여 설정 한 첫 번째 SSH 연결이 아니므로 내 가정용 컴퓨터에는 여러 id_rsa 개인용 키 파일이 있습니다 (각각 다른 컴퓨터가 SSH로 연결됨). 따라서, 나는 성공적 SSH는 내가 키 파일 (에 지정할 때 수 있어요 ssh의 -i사용, 옵션) ssh username@ipaddress -i path/to/keyfile/id_rsa.2.

잘 작동합니다. 그러나 sshfs원격 파일 시스템을 마운트하는 을 사용 하고 싶습니다 . 하지만 ssh여러 개의 키와 멋진 연주 것, 내가 얻을 수있는 방법 찾을 수 없습니다 sshfs올바른 개인 키 ( "id_rsa.2")를 사용합니다.

sshfs이것을 할 수있는 방법 이 있습니까?


이 시나리오에서 키 체인 이 저에게 효과적입니다 ...
— jasonwryan

답변:


94

나를 위해 일하는 것은 다음과 같습니다.

sshfs me@x.x.x.x:/remote/path /local/path/ -o IdentityFile=/path/to/key

당신은 이것을 통해 알아낼 수 있습니다 man sshfs:

-o SSHOPT = VAL ssh 옵션 (man ssh_config 참조)

man ssh_config

IdentityFile

사용자의 DSA, ECDSA 또는 DSA 인증 ID를 읽을 파일을 지정합니다.


1
감사합니다! @ goldilocks, sshfs맨 페이지 에서 IdentityFile 줄을 완전히 놓쳤습니다 . 그것이 바로 내가 찾던 것입니다. 방금 솔루션을 시도했지만 완벽하게 작동합니다. 도움을 주셔서 감사합니다!
— JL

1
이 명령은 맥 OS 시에라 작동하지 않습니다
— basZero

1
IdentityFile경로 메모. 로 실행 sshfs하는 경우 경로 에서 sudo사용 ~은 IdentityFile루트의 홈을 나타내며 RSA 파일이없는 곳일 수 있습니다. /Users/<username>/.ssh대신 비슷한 것을 사용하십시오 .
— Aaron

19

~/.ssh/config파일 에서 사용할 개인 키를 지정하면 됩니다. 예를 들면 다음과 같습니다.

Host server1.nixcraft.com
    IdentityFile ~/backups/.ssh/id_dsa
Host server2.nixcraft.com
    IdentityFile /backup/home/userName/.ssh/id_rsa

정말 고마워! @Steven 당신 sshfs은 .ssh / config 파일 을 읽는다 는 것을 몰랐 습니다 (이전에는 누군가의 이전 게시물의 stackoverflow.com/a/13638806/1940466 에서 비슷한 답변을 놓쳤다는 것을 알았습니다 ). 잘 알고 있습니다. 가치있는 것에 대해서는 귀하의 답변과 @goldilocks의 답변을 모두 수락하고 싶지만 그럴 수는 없습니다. 또한 귀하의 답변에 투표 할만한 명성이 없습니다. 그래도 답변을 주셔서 감사합니다!
— JL

3
sshfs -o ssh_command='ssh -i path/to/keyfile/id_rsa.2' username@ipaddress:/path /local/path

감사합니다이 답변은 안드로이드 파일 시스템을 마운트하기 위해 아치 리눅스에서 저에게 효과적이었습니다
— Edward Torvalds
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.