SSH 키 파일 권한 검사 무시 통해 서버에

개인 키 파일과 기타 중요한 데이터가 포함 된 암호화 된 FAT 볼륨 (호환성을 위해)이 있습니다.

개인 키를 사용하여 SSH를 통해 서버에 연결하고 싶지만 FAT는 파일 권한을 지원하지 않으므로 권한이 너무 열려 있다는 내 키를 무시합니다.

따라서 현재 0600 권한으로 하드 드라이브의 다른 곳에 복사하여 사용하고 안전하게 지우려고하지만 고통 스럽습니다.

이 ssh / scp 명령 행에서 권한 점검을 우회하는 방법이 있습니까?

편집 : 정밀도 : OS X의 TrueCrypt 볼륨이었습니다.

해결책 : 아래의 대답은 Mac OS X의 TrueCrypt 볼륨에있는 SSH 키 파일을 사용하여 내 문제를 해결했지만 해결 방법입니다. “키 파일 권한 검사 우회”방법이없는 것 같습니다.



답변

AFAIK에는 ssh 또는 ssh-add를 사용하여 키 파일 권한 검사를 우회 할 수있는 방법이 없습니다 (명명 된 파이프 등으로 속일 수는 없습니다). 게다가, 당신은 실제로 ssh를 속이고 싶지 않고 키 파일을 사용할 수 있기를 원합니다.

실제로 TrueCrypt 볼륨은 데이터를 비공개로 유지해야하므로 볼륨을 세계가 읽을 수있는 (TrueCrypt의 기본 동작) 볼륨으로 마운트하는 것이 실제로 최적이 아닙니다. FAT 형식의 볼륨을 사용하는 경우 Dan Carley가 제안한대로 마운트 옵션을 조정해야합니다.

OS X 용 TrueCrypt가 마운트 옵션을 아직 제대로 지원하지는 않지만 (명령 줄 인터페이스를 사용하여 TC를 시작하고 매뉴얼 페이지의 마운트 옵션을 이미 시도했지만 이미 시도 했음에도 불구하고) OS X는 볼륨 이름을 기반으로 마운트 옵션 기본값을 지원합니다 .

사용자 ID를 알아야합니다 (컴퓨터의 첫 번째 / 전용 사용자 인 경우 일반적으로 501). “id -u”로 얻을 수 있습니다.

볼륨 이름이 “PRIVATE”(볼륨 이름은 대문자 임)이고 uid가 501이라고하면 / etc / fstab에이 행을 추가하기 만하면됩니다.

LABEL=PRIVATE none msdos -u=501,-m=700

이 파일을 작성 / 편집하려면 루트 여야합니다 (기본 OSX 설치에는 없음).

sudo vim /etc/fstab

다음에 볼륨을 마운트하면 권한 700 및 소유자 ID 501이 부여됩니다.

또한 USB 드라이브 (일반적으로 FAT로 포맷 된 드라이브)에서도 작동합니다.


답변

stdin에서 키를 추가하면 나를 위해 일했습니다.

cat /path/to/id_rsa | ssh-add -k -

답변

미친 해결 방법으로 개인 키가 들어있는 ext2 볼륨의 디스크 이미지를 만들어 루프 장치로 마운트 한 다음 여기에서 ssh 키를 사용할 수 있습니다.

1MB의 빈 파일을 만드십시오 :

dd if=/dev/zero of=diskimg bs=1024 count=1024

ext2로 포맷하십시오 (장치가 아니라고 Y를 누르십시오)

mke2fs diskimg

어딘가에 (루트로) 마운트하십시오.

mount -t ext2 -o loop diskimg /my/path/to/diskimg

이제 권한을 설정할 수있는 작은 ext2 파일 시스템이 있습니다. 스크립트를 작성하여 마운트하고 사용중인 시스템에 따라 UID / GID 권한이 올바른지 확인할 수 있습니다 (UID가 일치하지 않을 수 있으므로). 또한 작동하려면 sudo / root 액세스 권한이 필요합니다.


답변

어떤 추가에 대한 StrictModes no당신에 /etc/ssh/sshd_config(그리고 다시로드 / 다시 시작 sshd)이?

편집 : 죄송합니다,이 옵션은 서버 측에만 있습니다 : /


답변

올바르게 기억하면 ssh-agent키 권한을 확인하지 않습니다. 그래서 이것은 작동 할 수 있습니다 :

[-S "$ SSH_AUTH_SOCK"] || eval $ (ssh-agent)
ssh-add 경로 / to / id_rsa

답변

당신은 마운트 옵션 (당신 수정할 수 있습니다 umask, uid그리고 gid소송에)?