When
SSH로 리모트 서버를 접근할때
Why
서버별로 패스워드를 외워서 접근해야 하는 번거로움이 있기 때문에
이 부분을 공개키 접속으로 생략하고 싶다.
What
ssh admin@my.cloud 만 입력해서 리모트 서버에 접속 가능하다.
나의 경우 커스텀 스크립트를 생성해서 myssh mycloud 명령어로만 접속하여 쓰고있다.
왜냐하면 포트번호나 id_rsa파일 위치가 다른경우 옵션을 서버별로 다 다르게 넣어줘야 하기 때문이다.
이부분은 커스텀SSH 만들기 를 참조하자.
How
# 내 로컬PC에서 비밀키 공개키를 작성한다.
ssh-keygen -t rsa
# 기본생성으로 모두 엔터키를 눌러 작성하면 ~/.ssh 폴더에 두개의 파일이 생성된다.
ls ~/.ssh
> id_rsa
> id_rsa.pub
# 리모트 서버에 방금 생성한 공개키를 복사해준다.
ssh-copy-id -i ~/.ssh/id_rsa.pub admin@my.cloud
# 이제 패스워드 없이 접속이 가능하다.
ssh admin@my.cloud
접속되지 않을경우
- 퍼미션 확인
# ssh폴더가 700인지 확인후 아니라면 설정
ls -al ~/.ssh
chmod 700 ~/.ssh
# id_rsa가 600인지 확인후 아니라면 설정
ls -al ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa
# id_rsa.pub 644설정
chmod 644 ~/.ssh/id_rsa.pub
- 리모트 서버에 생성한 공개키가 올라가 있는지 확인
cat ~/.ssh/authorized_keys
> ssh-rsa AAAAB3NzaC1yc2EAA*******contact@chulgil.me
만약 없다면 id_rsa.pub의 내용을 추가한다.