# ssh 클라이언트 서버에서 아래처럼 작업
ssh-keygen -t rsa -b 4096 # 개인/공개키 생성
# ssh 클라이언트 서버에서 ssh 접속을 하려는 타깃 서버에
# 아까 만든 공개키를 복사하는 과정. 비밀번호 최초 한번 물어봄.
ssh-copy-id -i ~/.ssh/id_rsa.pub 타깃서버_계정@타깃서버_주소
# ssh 클라이언트 서버에서 로그인 수행
ssh 타깃서버_계정@타깃서버_주소
위처럼 해서 되면 된겁니다.
아래 목차들은 좀 더 상세한 내용을 정리했습니다.
일단 서버가 2개가 있다고 가정하겠다.
쉽게 얘기해서 A -> B 서버로 ssh 요청을 날리는 형태라고 가정하겠다.
# (A 서버에서 작업해주세요)
# 참고: 만약 이미 키가 있다면 생략하세요!
# 키 존재 여부는 ~/.ssh/id_rsa , ~/.ssh/id_rsa.pub 파일 조회로 확인!
ssh-keygen -t rsa -b 4096

ssh-keygen 입력 후에 위 그림처럼 몇가지 질문을 합니다.
Enter file in which to save the key:Enter passphrase (empty for no passphrase):tip: 그림에서
The key fingerprint is: ~~하는 부분이 있습니다.
맨 오른쪽에Comment가 달리는데, 이거는 말 그대로Comment이기 때문에
인증에 사용되지 않습니다. 만약 직접 설정하고 싶으면, 아래처럼 명령어를 실행하세요.
ssh-keygen -t rsa -b 4096 -C "my-server-key"
# (A 서버에서 작업해주세요)
# 아래처럼 입력하면 딱 한번 B_서버_계정의 비밀번호를 묻습니다. 입력해주세요!
ssh-copy-id -i ~/.ssh/id_rsa.pub B_서버_계정@B_서버주소

이 과정은 A 서버의 공개키를 ssh 접속하려는 B 서버에 넣는 과정입니다.
추후 ssh 인증을 할 때 이 공개키 내용을 통한 인증이 수행됩니다.
tip: 만약에 ssh-copy-id 가 없다면 아래처럼 하세요~
cat ~/.ssh/id_rsa.pub | ssh B_서버_계정@B_서버주소 \ "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"
# (A 서버에서 작업해주세요)
ssh B_서버_계정@B_서버주소

정상적으로 B 서버에 접속하게 됩니다.
B 서버에 접속해서 cat ~/.ssh/authorized_keys | grep PubkeyAuthentication 라고
입력해보세요. 만약에...
... 로 되어 있으면 접속을 할 수 있습니다.
하지만 만약 PubkeyAuthentication no 로 되어 있으면 안됩니다.
yes 로 수정하고 sudo systemctl restart sshd 로 sshd 를 재기동하면 됩니다.
B 서버에서 아래처럼 입력:
cat ~/.ssh/authorized_keys

맨 끝에 보면 ssh-keygen 에 의해서 생성된 pub key 의 Comment 가 보입니다!