ssh config로 여러 개의 ssh키 사용하기
- .ssh 폴더 하단에
config
라는 이름의 파일 만들기
- config 파일에 ssh키를 어떻게 사용할지 설정 입력하기
Host gitlab.epinet.kr
HostName 10.8.200.19
Port 8002
User git
IdentityFile ~/.ssh/id_rsa_git
Host cbdcm
HostName 10.8.200.49
Port 22
User root
IdentityFile ~/.ssh/id_rsa_git
- ssh 사용해보기
~~
ssh cbdcm
~~
공개키와 비공개키
- ssh 키는 공개 키와 비공개 키로 쌍을 이룬다.
- 비공개 키: 암호처럼 다뤄야 하고 절대 다른 사람과 공유해서는 안된다.
- 공개 키: 코드 호스팅 시스템 같은 다른 곳에 "설치"될 것이다.
SSH 키 생성하기
리눅스/OS X/유닉스 변형판
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
- 키 쌍은 /.ssh/의 적절한 장소에 저장 될 것이다.
- 해당 키를 시스템에 등록하여 사용할 수 있다
- 키를 로컬 "에이전트"에 등록해야 한다.
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa
공개 SSH 키 가져오기
- 코딩 호스팅 시스템에서 "공개 SSH 키"를 요청하면 id_rsa.pub 파일의 내용이 필요한 것이다.
- 이 파일은 보통 홈 폴터에 숨겨진 .ssh 폴더에 저장된다.
- 공개키 복사하기 @OSX
cat ~/.ssh/id_rsa.pub | pbcopy
clip < ~/.ssh/id_rsa.pub
우분투 ssh 설정 살펴보기
- 홈디렉터리 내부의 ".ssh" 디렉터리
- .ssh 디렉터리는 user권한만 rwx이고 나머지 그룹권한은 없음을 알 수 있음
- 이 의미는, 오직 해당 계정의 사용자만이 .ssh파일을 수정/실행할 수 있음을 의미
- "id_rsa" 파일 : 비공개키
- 절대 외부에 유출되면 안됨! 비공개해야함!
- "id_rsa.pub" 파일 : 공개키
- ssh로 접속하고 싶은 "원격서버의 authorized_keys 파일" 안에
- id_rsa.pub 파일 안의 ssh key가 있으면
- 해당 원격서버에 ssh로 접근가능함!
ssh-keygen
- ssh-keygen
엔터 누르면 패스워드 입력 화면이 나타남
자신의 컴퓨터가 안전한 경우 패스코드 입력을 생략하며 엔터를 2회 추가로 누르고, 안전하지 않아서 패스코드를 넣으려면 패스코드 입력 후 엔터를 누르고 다시 동일한 패스코드 입력 후 엔터를 누름
여기서 생성된 id_rsa 는 절대 공유해서는 안 될 중요한 파일
SSH로 등록해서 사용할 파일은 id_rsa.pub
아래 명령어를 입력 후 엔터
cd ~/.ssh
아래 명령어를 입력 후 엔터
ls -al
아래 명령어를 입력 후 엔터
cat id_rsa.pub
출력된 내용 전체인 [ssh-rsa ... .local] 에 해당하는 부분을 전체 복사
아까 열어둔 페이지에서 [Key]의 빈 부분에 복사한 내용을 붙여넣기
[Title]은 원하는 대로 이름 넣고, [Add key] 버튼 클릭
내 로컬의 rsa.pub를 원격서버로 내보내기
ssh-copy-id 원격서버계정@원격서버주소
ssh-copy-id root@192.168.0.67
ssh 접속
ssh 원격서버계정@원격서버주소
ssh root@192.168.0.67
궁금해요
- "ssh_config"와 "sshd_config"의 차이점은 무얼까융?!
Reference