# ssh 클라이언트 서버에서 아래처럼 작업
ssh-keygen -t ed25519 -N "" # 개인/공개키 생성
# -N 은 패스프레이즈 설정을 Skip 을 의미함.
# ssh 클라이언트 서버에서 ssh 접속을 하려는 타깃 서버에
# 아까 만든 공개키를 복사하는 과정. 비밀번호 최초 한번 물어봄.
ssh-copy-id -i ~/.ssh/id_ed25519.pub 타깃서버_계정@타깃서버_주소
# ssh 클라이언트 서버에서 로그인 수행
ssh 타깃서버_계정@타깃서버_주소
위처럼 해서 되면 된겁니다.
아래 목차들은 좀 더 상세한 내용을 정리했습니다.
# (A 서버에서 작업해주세요)
# 참고: 만약 이미 키가 있다면 생략하세요!
# 키 존재 여부는 ~/.ssh/id_ed25519 , ~/.ssh/id_ed25519.pub 파일 조회로 확인!
ssh-keygen -t ed25519 -N ""
# 참고: 만약 id_ed25519.pub 말고 다른 이름의 키를 생성하고 싶다면?
# ==> ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519_custom

ssh-keygen 입력 후에 위 그림처럼 질문을 하나 할 겁니다.
Enter file in which to save the key:
이거는 개인키/공개키 파일의 경로 및 명칭을 지정하는 겁니다.
만약에 서로 다른 키 파일들을 생성하고 싶으면 이 설정을 조금 바꾸면 되겠죠?
# (A 서버에서 작업해주세요)
# 아래처럼 입력하면 딱 한번 B_서버_계정의 비밀번호를 묻습니다. 입력해주세요!
ssh-copy-id -i ~/.ssh/id_ed25519.pub B_서버_계정@B_서버주소

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

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

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