Soy's Devlog
[Mac] ssh 접속 시 permission denied (publickey) 본문
우리가 원격서버에 접속해야 할 경우 서버에 아무나 접속이 가능하도록 구성되어 있지는 않을 것이다.
당연히 보안장치가 있을건데 여기서는 ssh를 이용한 접속에 대해 간단히 정리 했다.
ssh key인증 방식은 단순비밀번호만 입력 후 원격서버에 접속하는 것은 아니고,
인스턴스 생성 시 쌍으로 생성 된 공개키와 비밀키를 서버 접속 시 대조하여 일치하는 경우 접속을 허용하는 보안 프로토콜의 한 종류이다.
ssh서버가 포함된 인스턴스를 생성하면 비밀키(private key)를 발급해 준다.
pem/ppk 파일이 그 것인데, 원격 서버에 접속 시 필요한 비밀번호와 같은 개념으로 이해하면 된다.
ssh를 통해 클라이언트가 특정 호스트에 첫 접속을 시도할 때 ssh는 서버에서 공개키를 가져올 지 묻는다. 대조해야 하니까...
'yes'라고 응답 할 경우 공개키를 가져와 대조를 하겠지만, 여기서 끝이 아니다 !
>$ ssh 접속명@호스트 명령어로 접속을 시도하면 아래와 같이permission이 거부 된다. 대조할 비밀키가 없기 때문이지..!
접속하려면 >$ ssh -i 비밀키.pem 접속명@호스트 이렇게 pem파일을 수동으로 입력해 주면 접속 되는 것을 확인할 수 있다.
# 번외
1. 로컬pc 공개키 ssh서버에 추가
이건 참고용인데, 매번 이렇게 pem파일까지 수동으로 입력해 주려면 귀찮기도 하고...아예 ssh 서버에 클라이언트(로컬)PC의 키를 등록해주면 다음엔 해당 클라이언트는 인증받을 필요가 없으므로 등록해 주면 편하게 사용할 수 있다.
~/.ssh/id_rsa.pub 을 열어 로컬pc의 공개키를 확인하여 복사해준 후,
접속하고자 하는 서버의 .ssh/authorized_keys 를 열어 붙여넣기 한 후 저장해 준다.
이렇게 되면 pem 파일 없이도 접속명과 호스트 만으로 접속이 가능해진다!
2. pem 파일 권한 관련
>$ ssh -i 비밀키.pem 접속명@호스트 실행 후 아래와 같이 private key files 권한에러가 나는 경우가 있다
이러한 에러는 pem파일의 권한을 변경 후 재실행 해주면 간단히 해결 가능하다
>$ chmod 400 ./(filename.pem)
'Linux > Ubuntu' 카테고리의 다른 글
iso파일로 가상머신에 Ubuntu 설치(2) (0) | 2021.07.20 |
---|---|
iso파일로 가상머신에 Ubuntu 설치(1) (0) | 2021.07.13 |
[Mac] ssh 접속 시 REMOTE HOST IDENTIFICATION HAS CHANGED 에러 (0) | 2021.03.19 |
[Mac]pem파일로 인스턴스 접속 중 Permission Denied (0) | 2020.12.02 |