서버연결을 자주 하다 보면은 비밀번호를 자주 입력해야 하는데 이게 아~~~주 귀찮아서 그냥 빨리 볼 수 있도록 여기에 적어본다.
ssh-keygen -t rsa
①ssh-keygen은 ssh-key-generation으로 ssh 키 쌍을 생성하는 명령어. ssh는 네트워크를 통한 안전한 통신을 제공하는 프로토콜
②-t rsa : -t는 type 이며 키의 종류를 지정. rsa는 Rivest Shamir-Adleman의 약자로 그냥 RSA 알고리즘을 만들어넨 사람들 이름을 쭉 나열한것.
(참고로 RSA 알고리즘은 공개키 암호화 방식이며 두개의 큰 소수의 곱을 기반으로 한다)
scp (id_rsa.pub경로) (아이디@호스트):id_rsa.pub
①scp(secure copy protocol) 네트워크를 통해 파일을 안전하게 복사하는 명령어
즉 scp명령어를 통해 지금 id_rsa.pub 에 있는것을 서버 네트워크에 옮기겠다는 뭐 그런 의미
🤨 계속 연결이 안 될 때?
👉 필자는 scp "C:\Users\LEE__AA\.ssh\id_rsa.pub" jaegun@(hostip):id_rsa.pub 계속 해도 안되길래 왜 그러지 했는데 포트번호가 달랐다. 따라서 포트 번호를 추가해주면 된다.
scp -P (포트번호) "C:\Users\LEE__AA\.ssh\id_rsa.pub" jaegun@(hostip):id_rsa.pub
이제 서버 원격서버에 들어가서 밑에 내용을 차례대로 쳐준다.
rm -rf .ssh #원래 있던거 지워줌
mkdir .ssh #ssh 폴더 만듦
chmod 700 .ssh # ~/.ssh 폴더의 권한 지정. chmod는 changemode 파일소유자에게 모든 권한 부여
cat id_rsa.pub >> .ssh/authorized_keys # authorized_keys 라는 파일을 만들어 id_rsa.pub에 있는 내용을 옮기겠다는 의미

Host에 있는거에 IdentityFile 에 이렇게 적어두면 됨.
~/.ssh/id_rsa
참고로 위 Host 가 어떠한 의미가 있는 것인지.
Host [alias](이름 아무거나 알아볼 수 있게)
HostName [ip_address]
User [본인이름](서버에 미리 등록된 User 이름 적어야함.)
Port [port number](서버 포트 열어둔거 있을거임. 거기 해야함)
IdentityFile [](이거 취향차이.)