1Password SSH 키 생성 화면
1Password 8 버전부터 SSH & Git 관리 기능을 사용할 수 있다. 현재 Ed25519와 RSA 두가지 타입을 지원하며, 기존 SSH 키를 불러와서 저장할 수도 있다. 참고로 *.pem
파일을 1Password에 불러와서 저장한 후, 개인키를 다시 다운로드해서 사용할 땐 pem
확장자를 추가해야 한다.
1Password의 SSH & Git 관리 기능을 사용하면 SSH 개인키를 로컬에 저장하지 않고도 SSH 인증을 진행할 수 있다. ~/.ssh/config
파일에 일일이 SSH 키 경로를 명시해야 하는 번거로움도 덜 수 있다.
1Password에서 생성한 SSH 키는 공개키와 핑거 프린트(Finger Print)를 함께 생성하기 때문에 GitHub 같은 서비스에서 공개키 자동완성 기능도 사용할 수 있다. 별거 아닌 것 같지만 은근히 유용하다.
1Password SSH 에이전트 활성화
체크
체크
~/.password/agent.sock
경로에 대한 심볼릭 링크 추가
mkdir -p ~/.1password && ln -s ~/Library/Group\\ Containers/2BUA8C4S2C.com.1password/t/agent.sock ~/.1password/agent.sock
mkdir -p
옵션 : 재귀적으로 폴더 생성(중간 경로에 대한 폴더가 없다면 자동으로 생성됨)ln
: 링크 생성 ex) ln 소스파일 타겟경로
ln -s
옵션 : 심볼릭 링크(symlink) 생성~/.ssh/config
파일에 1Password SSH 에이전트 경로 추가. Host *
부분에 추가했으므로 모든 호스트에 대해 1Password 에이전트를 사용한다. 1Password에서 관리하는 SSH 키는 IdentityFile
항목에 일일이 경로를 명시하지 않아도 된다.
Host *
IdentityAgent ~/.password/agent.sock
특정 호스트에만 1Password 에이전트를 사용하도록 할 수 있다. github-home
호스트는 1Password 에이전트를 사용하고 ec2-server
호스트는 로컬에 저장된 SSH 키(pem 파일)를 사용하는 예시 ▼
# A host that's using the 1Password agent
Host github-home
HostName github.com
User pi
IdentityAgent ~/.1password/agent.sock
# A host that's using a local private key file that's not saved in 1Password
Host ec2-server
HostName 54.123.45.67
User ec2-user
IdentityFile ~/.ssh/ssh-key-not-on-1password.pem
터미널이나 SSH 클라이언트에서 git pull ...
같은 SSH 키를 사용하는 작업을 수행하면 SSH 키 사용 승인 팝업이 뜬다. 요청을 승인하면 1Password가 잠길때까지 동일한 SSH 키는 별도 승인없이 계속 사용할 수 있다(Touch ID / Windows Hello 같은 생체 인식으로 승인 가능).
EC2 인스턴스 접속시 나오는 액세스 허용 팝업
1Password에 SSH 키를 저장해두면 웹사이트에 공개키를 등록할 때 자동 완성 기능을 사용할 수 있다. 일일이 공개키를 복사 / 붙여넣기 하지 않아도 된다. 공개키 자동 완성 기능은 GitHub, GitLab 등에서 사용할 수 있다
<aside>
💡 1Password에서 SSH 키를 생성(저장)하면 공개키와 핑거 프린트(Finger Print)가 함께 생성되며, ~/.ssh/config
파일에 SSH 키 경로를 명시하지 않아도 된다.
</aside>
GitHub 공개키 등록 페이지(SSH and GPG keys)의 자동 완성 팝업창