Ubuntu Server - ssh server
안녕하세요 :)
우분투 리눅스 환경에서의 서버 구축을 주제로한 두번째 포스팅 내용은 SSH서버입니다.
텔넷서버와 마찬가지로 리눅스서버 데스크탑에 원격으로 접속하기 위한 서버의 유형중 하나이며 많은 서버들이 ssh 유형의 접속을 허용하고 있습니다.
대표적인 예로 구글클라우드플랫폼(GCP)또한 인스턴스를 생성하여 부여받으면 ssh를 이용하여 원격접속을 하고있습니다.
저의 경우 집의 데스크탑에서 가상 리눅스 환경을 부팅해두고 ssh서버를 열어둔 이후, 카페에 갑니다.
아이패드와 블루투스 키보드를 슥 꺼내서 ssh 클라이언트 어플리케이션을 통해 접속해 간단한 C코딩을 하곤 하는데 이렇게 하면 남들이 보기에 멋있어 보이기도 하고 굳이 무거운 랩탑또는 데스크탑을 가지고 카페에 가지 않아도 가벼운 디바이스를 통해 원격으로 리눅스 환경을 100프로 활용할수 있게 됩니다,
그럼 이번 포스팅에서는 ssh서버를 우분투 리눅스 환경에서 구축하고 다른 디바이스를 통해 접속해보겠습니다.
먼저 서버로 개방할 리눅스 환경에서 ssh서버용 패키지를 다운받아 줍니다.
그리고 텔넷과 마찬가지로 서비스를 가동하고 이번엔 항시가동 enable 명령어도 수행해준후 상태정보를 확인해보겠습니다.
위와 같이 이번에도 ssh서버가 잘 가동되고 있는것을 확인해볼수 있습니다.
아! 잊지말고 방화벽도 열어주어야 합니다.
이제 클라이언트 프로그램으로 이 리눅스 서버를 들어가 볼것인데 동일한 네트워크 내에서접속과
외부에서 접속 두가지 케이스 가 있습니다.
첫번째로 동일한 네트워크 내에서의 ssh서버 접속입니다,
저는 mobaXterm이라는 ssh클라이언트 프로그램을 사용해 보겠습니다 보통 putty를 많이 사용하는데 저는 이게 더 이쁘더라구요 ㅎ...
무료니까 구글이나 네이버 검색 조금만해봐도 ... 그냥 제가 링크 가져올께요 잠시만요 ㅎ
MobaXterm free Xserver and tabbed SSH client for Windows
The ultimate toolbox for remote computing - includes X server, enhanced SSH client and much more!
mobaxterm.mobatek.net
위의 링크 입니다 ㅎ... 다운로드 해주고 실행해주세요
실행후 상단의 sessions 탭에서 new session을 눌러주고 아래의 빨간 동그라미 친부분에 아이피를 입력후 접속해줍니다
그리고 터미널에서 로그인을 해주면 접속을 완료 할수 있습니다. 아래와 같습니다.
두번째로 외부 네트워크 클라이언트에서의 ssh서버 접속입니다,
저는 이번 포스팅의 서두에서도 말씀드린것 처럼 아이패드의 ssh 터미널 어플리케이션인 terminus라는 앱을 통해 구축해둔 서버에 접속을 시도해보겠습니다.
외부 네트워크에서의 접속을 위해서는 특정 포트에서의 방화벽을 열어 주어야 합니다.
순서는 다음과 같습니다.
vmware 가상머신에서의 네트워크 포트개방 ->윈도우 방화벽(가상머신을 운용하고있는 데스크탑 운영체제)의 방화벽 포트 규칙 추가 -> 클라이언트 어플리케이션에서의 접속
1. vmware 가상머신에서의 네트워크 포트개방
VMware workstation pro 프로그램을 실행합니다.
상단의 edit 탭에서 Virtual network editor탭을 눌러줍니다.
다음 그림과 같이 붉은 색으로 표시한 버튼을 차례대로 누르며 포트를 개방해주어야 하는데 네트워크의 타입이 NET으로 된 즉, 서버용 운영체제에서 사용하는 IP의 포트를 열어 주어야 합니다. 저의 경우 외부에서 9000번 포트로 접근하는 사용자는 모두 ssh서버를 구축한 192.168.111.100:22 로 보내주도록 포트를 설정해주었습니다.
2. 윈도우 방화벽(가상머신을 운용하고있는 데스크탑 운영체제)의 방화벽 포트 규칙 추가
이건 그냥 인바운드 규칙을 하나 추가해주는 것입니다.(윈도우 OS 기준으로 설명드리겠습니다.)
윈도우 컴퓨터의 ip 주소알아보기)
윈도우키 + r, cmd 를 눌러 명령창을 띄어 주고 ipconfig 명령어를 넣어줍니다.
저는 sk브로드밴드의 무선 와이파이로 인터넷을 사용해서 여기의 ipv4 주소가 ip 주소가 됩니다.
어쨋든 외부 클라이언트로 들어올때 저기에 있는 아이피 주소로 접속할 것입니다.
그전에 방화벽을 열어주기 위해서 제어판의 방화벽탭에서 고급설정을 눌러줍니다.
그리고 인바운드 규칙에서 마우스 오른쪽 버튼을 눌러 새규칙을 눌러줍니다,
만드려는 규칙 종류는 포트를 선택해주고 쭉 다음버튼을 눌러줍니다.
포트번호를 9000번으로 설정후 쭉 다음버튼을 눌러주고 규칙이름을 부여후 마침을 눌러줍니다.
모든 설정이 완료 되었으니 아이패드 어플리케이션으로 접속해보겠습니다.
결과 화면)
사용자 ID 입력
password입력
디렉터리와 파일 일치여부 확인)
이후 일반사용자가 아닌 루트사용자로서 이 서버를 운용하고 싶을때는 sshd conf 파일을 조금 바꾸어 주어야 합니다.
아래에 사진으로 첨부하겠습니다.
위처럼 35번 라인과 59번라인을 수정해 주어야 합니다 하지만 원격접속에서의 관리자 계정 접속을 열어두는것은 실무에서는 있을수 없는일이며 주의해야하는 일입니다! 개인서버에서 위와 같이 사용하고 싶을때는 꼭 루트계정에 암호를 설정해서 사용하셔야 합니다.