티스토리 뷰
12.0 이후 경우만 기재함.
방법
- ssh-add --apple-use-keychain ~/.ssh/[your-private-key]
- ~/.ssh/config에 아래 추가
Host * UseKeychain yes AddKeysToAgent yes IdentityFile ~/.ssh/[your-private-key]
설명
- mac은 os가 실행 될 때, ssh-agent를 스스로 실행함
- 이에 또 실행하면 중복으로 실행되는 것임 (물론 케이스에 따라 이렇게 관리할 수 도 있긴 함)
- UseKeychain을 사용하여 애플에서 만든 키체인을 사용하도록 설정 (macos 에서만 존재하는 옵션)
참고
아래는 해봤으나 설정한 터미널에서만 작동하더라...
더보기
방법
- ~/.ssh/config에 아래 추가
Host * AddKeysToAgent yes UseKeychain yes
- ssh-add key 수행
$ ssh-add -l # 등록된 ssh 확인 $ eval "$(ssh-agent -s)" # 백그라운드로 ssh-agent 실행 $ ssh-add ~/.ssh/id_rsa_[계정] # ssh key 등록 $ ssh -T git@[config파일의 Host 이름] # ssh 접속
ssh config 옵션 설명
- AddKeysToAgent는 ssh 개인 키를 ssh 에이전트에 추가하여 인증 프로세스를 간소화하는 옵션입니다.
- UseKeychain는 macOS 시스템에서 SSH 개인 키를 관리하는 Apple Keychain을 사용하도록 지정하는 옵션입니다.
- 이 옵션은 macOS에서만 유효합니다.
호기심에 SSH -T 옵션을 찾아보았다.
기본적으로 ssh 연결을 할 때 TTY 생성을 하며 로컬 터미널에 리모트에서 창의 크기라던지, 인코딩, 창의 이름 등의 정보를 보내온다고 한다.
이에 의도치 않게 로컬 터미널이 변경되는 경우가 존재하는데, 사용하는 케이스에 따라서 해당 동작이 필요 없을 때 옵션을 쓴다고 한다.
대표적으로가 git에 key가 정상적으로 등록되었는지 확인할 때라고 한다. (위의 ssh-add key의 마지막 부분 참고)
https://stackoverflow.com/questions/42505339/why-use-t-with-ssh
Why use -T with ssh
To test ssh I read you need to use something like ssh -T user@domain.com: According to man ssh: -T Disable pseudo-terminal allocation. -t Force pseudo-terminal allocation. This can be
stackoverflow.com
참고
재부팅 시 사라지는 SSH Key 해결하기
github 계정 2개를 사용하기 위헤 ssh 서버에 key 등록을 했으나 터미널을 재부팅 할 때 마다 저장된 ssh key가 날라갔습니다...
velog.io
댓글