OpenSSH
이 글을 쓰게된건 일단 회사에서 여유시간이 생기게 되면 공부하는 시간을 가져도 된다고 하셨었다.
그래서 이참에 사이드 프로젝트 하던것을 좀 ec2 서버에 올려놓으면서 RDS설정도 해야겠다 싶었다.
근데 키가 없으니까 또 접속하기가 매우 불편했다.
왜냐면, 웹으로 접속하는 법을 썼어야 했으니까.
키 파일이 없는데 언제 어디서나 접속하게끔 하고 싶었고
그렇게 적용하게된 OpenSSH이다.
설치
일단 시작은 다음과 같다.
sudo apt update
sudo apt-get install openssh-server
먼저 패키지 시스템을 업데이트 해주고, openssh-server
를 설치해준다.
ssh를 설치하게 되면 자동으로 실행된다.
그리고 나서 현재 상태를 조회할 수 있다.
sudo systemctl status ssh
이렇게 상태를 보고 동작중인지 확인이 되었다.
만약에 동작중이 아니라면
sudo systemctl enable ssh
sudo systemctl stop ssh
sudo systemctl start ssh
sudo systemctl restart ssh
stop
, start
를 사용하던지
restart
를 사용하던지 편한것을 사용하면 되겠다.
방화벽은 나는 ec2 서버의 ubuntu를 사용하였기 때문에
인바운드 규칙에서 22번을 열어주면 방화벽 설정은 따로 해줄 필요가 없었다.
그리고 이제
접속할 쪽에서 openssh-client
를 받아준다.
윈도우는 여기서 다루지 않겠다. 다른곳 가면 잘 나온다.
나는 WSL2
를 사용해서
sudo apt-get install openssh-client
를 해줘서 패키지를 다운받았다. 그리고 나서 접속하는 명령어는
기존 명령어부터 먼저 보자면,
ssh -i "private key.pem" username@ip_address
방식이었고 pem파일이 없으면 실행이 안됐다.
설정법
일단 설치는 다 진행했고 다시 ec2서버로 가서
vi /etc/ssh/sshd_config
파일을 열어준다.
여기서 openssh-server
에 대한 설정을 해줄 수가 있는데
전부 주석으로 처음에 막혀있다.
이렇게 주석되어 있는 소스들을 풀어주었다.
포트하고 어느 주소만 허용할 것인지
나는 언제 어디서나 사용할 수 있게끔 ip를 다 열어주었다. 사내에서는 이렇게 하면 안될 것이다.
막혔던 부분
아니 나는 당연히 여기서 무조건 되겠지 하고 걍했다.
남들 하는것처럼 비밀번호 나오겠지 뭐
또는 아? 인증화면에서 yes
해서 known_hosts
에 등록되겠지 했다.
ㅋㅋㅋㅋㅋㅋㅋㅋ 미친짓이었다.🔥
해결책
🤔 왜 안됐을까?
아니 비밀번호를 설정만 해주면 뭐하나
일단 비밀번호 설정을 모르는 사람들을 위해 명령어 한줄 치고 가겠다.
나는 default username인 ubuntu
를 썼다. 그리고 ubuntu 계정으로 들어와있다.
그렇기때문에
뭐 모르는상태에서 변경해야 될 수도 있을때는 sudo
를 붙이면 되고,
물론 root가 아닌 얘기다!!!
sudo passwd username
으로 비밀번호를 설정해주면 된다.
여기까진 당연한것이고...
아까 설정했던 부분인 vi /etc/ssh/sshd_config
로 다시 가보자
아래로 내려보면서 찾아보면
이 PasswordAuthentication
설정이 있다.
비밀번호 인증 ? yes 를 해야 당연히 적용이되지 바보같은것..
그래서 이제는 이 변경 설정을 적용해줘야 하기 때문에
위에서 봤던 명령어로 다시 껐다가 켜주면 정상적으로 로그인이 된다!!!
이렇게 ssh 접속으로 비밀번호까지 쳐주게 되면?
잘 나오게 된다. 아주 편리하고 좋은 것 같다.
이제 여기에 여러가지 설정들을 할것이다❗️❗️❗️❗️❗️ 🔥🔥🔥🔥
'클라우드' 카테고리의 다른 글
Docker compose (0) | 2022.08.07 |
---|---|
[Docker] 도커란 (0) | 2022.08.05 |