티스토리 뷰
이 글은 ubuntu를 서버로 사용해 외부 ssh접속을 허용하는 설정에 관한 글임.
환경은 아래와 같음
- ubuntu 18.04
1. 개요
랩실에서 다같이 사용할 gpu서버로 학교 ck 서버를 이용하려고 했으나, 사람이 너무 많고 확실성이 떨어져서 개인 공부는 gpu서버로 하되, 랩실의 중요한 프로젝트 진행 등을 위해 서버를 하나 만들기로 했음.
서버는 접근성이 좋은 ubuntu로 만들고 적당한 컴퓨터를 이용하기로함.
사양
- ssd 120GB, hdd 1TB
- gtx 1030
- ddr4 16GB
- cpu는 적당히 좋음
이렇게 적당히 사용할만한 스펙을 돌리고 이를 관리하면 좋을거같다는 생각에 서버를 하나 만들고, 이를 도커로 만들고자함.
이번 글에서는 ubuntu 서버에 xshell을 이용해 ssh 접속을 하는 과정을 나타내고있음.
2. 환경설정
1) 포맷
이전에 사용했던 환경은 윈도우 환경이기 때문에 이를 포맷하고 ubuntu 18을 설치함.
과정은 필자도 잘 모름
2) ip설정
ip의 경우는 데스크탑이기 때문에 쉽게 오른쪽 위에 네트워크 표시를 통해 설정할 수 있음.
학교에서는 ip를 무료로 발급해주기 때문에 별 문제없이 ip를 발급받고 이를 적용했음.
이렇게 고정 ip를 설정하는 이유는 외부 접속을 위해 설정하는 것임. 공유기로 연결한다면 정확히는 모르지만 포트 바인딩을 통해 연결할 수 있다고 알고있으나, 귀찮기 때문에 고정 ip를 할당하고 외부 접속을 시도하고자함.
ip4탭으로 들어가 manual, Automatic off를 누르면 이렇게 ip를 설정 가능함.
학교에서 발급한 주소, dns를 입력하고 인터넷 연결을 햇음.
간단히 크롬을 통해 인터넷이 연결됏는지 확인.
3) 원격 접속
원격 접속을 하는 방법은 여러가지가 있음. 그 중에서 자주 사용하는 것이 팀뷰어였는데, 요즘은 학교(단체)에서 사용하는 것이 금지가 되었고, 작업을 할때 팀뷰어로 한다면 매우 불편하기 때문에 ssh를 사용하고자함.
ip를 할당했기 때문에 ssh 접속을 시도했는데 오류가 발생.
원인은 두 가지로 예상함
- 접속 불허
- ssh 서비스 미실행
이 두가지를 해결하기 위해 다시 해당 컴퓨터로 들어갔음
4) ssh 설정
사실상 여기서부터는 'ubuntu ssh install' 이라는 키워드로 구글링을 하는 것이 더 실질적으로 도움이 될듯함.
본 설정에서는 랜선으로 ip를 발급받은 후 인터넷이 연결된 상태에서 ssh를 설정했기 때문에 별다른 오류 없이 설정이 가능했음.
먼저 net-tools, openssh-server를 설치
다들 잘 모르는게 ubuntu는 &&를 통해 명령어를 연속으로 실행, install은 나열함으로써 한번에 설치 가능함
저렇게 한다면 update 한 후에 바로 net-tools, openssh-server를 설치할 수있음
우분투 사용자라면 항상 update를 하는게 좋음. 왜냐하면 이전 설정에 영향을 받는 명령은 update가 되지 않는다면 오류가 발생하는 경우도 있기 때문에 항상 update && 명령어 를 하는 식으로 습관을 들이는게 좋음
설치 후 systemctl status ssh를 통해 현재 ssh가 실행중인지 확인.
만약에 active가 아니라면 service ssh start를 해주면 됨.
이후에 sudo ufw allow ssh 를 해주면됨.
sudo를 해주는 이유는 네트워크 방화벽 관련 명령어기 때문에 반드시 root 권한이 필요해서 비밀번호를 묻는 것임.
이제 본인 ip가 설정되었고 ssh가 서비스 중, 방화벽에서 ssh를 허용해준다면 쉽게 접속할 수 있음.
5) ssh 연결
필자는 xshell을 이용함.
xshell은 비 상업에 한해서 무료로 다운받을 수 있음
https://www.netsarang.com/ko/free-for-home-school/
이름, 이메일을 입력하고 선량한 비상업 사용자임을 증명하면 해당 메일로 다운로드 링크가 발송됨.
xshell을 통해 ssh [ip] 를 입력하던가, 세션을 만듬
세션을 생성하면 좌측 중앙에 lob, nvidia, nvidia-ck 처럼 클릭 한번으로 접속이 되도록 설정 가능
ssh [ip]를 입력하면 인증서 저장을 하고, id, passwd를 입력해서 서버에 원격 접속이 가능함
3. 결론
생각보다 초기 설정은 별거 없음. 얼른 도커를 다루고 환경설정을 했으면 좋겠음