홈 네트워크 서버, 사무실 서버, 컨설팅 클라이언트 네트워크 서버 및 기타 계정이있는 기타 시스템에 사용되는 SSH ID 키를 분리하여 유지하려는 경우 좀 더 복잡하지만 매우 다양한 솔루션을 사용합니다.
이제는 거의 독점적으로 Linux 워크 스테이션에서 작업하므로 LUKS 암호화를 사용하여 설정 된 USB 키가 있으며 HAL 데몬과 함께 X11 창 관리자가 LUKS 암호화 드라이브를 감지하고 암호 해독 암호를 삽입하고 시도 할 때 프롬프트를 표시합니다 장착하십시오. 암호화 된 드라이브에 이것을 저장하면 SSH 키를 어떤 워크 스테이션에도 저장하지 않습니다.
그런 다음 ~/.ssh/config
파일에 다음 구성이 있습니다.
Host *
Protocol 2
IdentityFile %d/.ssh/keys.d/id_rsa.%l
IdentityFile %d/.ssh/keys.d/id_dsa.%l
IdentityFile %d/.ssh/keys.d/%u@%l
% d를 OpenSSH를하여 사용자의 홈 디렉토리로 번역하고,에 ~ / 스푸핑 디렉토리 내가 만든 keys.d를 제대로 장착 될 때 암호화 된 USB 드라이브의 디렉토리 경로에 대한 심볼릭 링크로.
%의 L의 발현은 로컬 클라이언트 컴퓨터의 호스트 이름과로 번역 유 % 로컬 클라이언트의 사용자 이름으로 변환됩니다.
이 구성은 SSH가 3 가지 다른 표현식을 사용하여 키를 찾을 수 있도록합니다. 예를 들어, 내 로컬 클라이언트의 사용자 이름이 jdoe
내 로컬 클라이언트 컴퓨터 이름 인 examplehost
경우 원격 서버에서 존재하고 수락 한 키를 찾을 때까지 다음 순서로 표시됩니다.
/home/jdoe/.ssh/keys.d/id_rsa.examplehost
/home/jdoe/.ssh/keys.d/id_dsa.examplehost
/home/jdoe/.ssh/keys.d/jdoe@examplehost
% r 식을 사용하여 % u 및 % l 이 사용 된 것처럼 원격 서버 사용자 이름에 대한 키 또는 원격 서버 호스트 이름에 대한 % h 를 찾을 수도 있습니다.
업데이트 : 이제 실제로 ssh-agent와 호환되는 GnuPG gpg-agent를 사용하여 OpenPGP v2 스마트 카드에서 인증 키를 읽고 사용합니다.