본문 바로가기
IT 이야기/맥북, MacOS 세팅

맥 미니, 맥북, 우분투를 ssh 서버로 사용하기

by 2Plus 2021. 5. 18.

 

Photo by Jordan Harrison on Unsplash

 

 우분투도 거의 동일한데 MacOS 기준으로 진행한다. 아이패드를 들고 다니면서 외부에서도 사용할 수 있도록 아이패드의 blink (터미널) 앱을 사용하여 테스트를 진행해봤다. 아래 순서대로 진행하면 된다.

 

Mac에서 ssh 접속 설정

 맥에서는 기본적으로 ssh 연결이 막혀 있다. "시스템 환경설정" - "공유"에서 위와 같이 원격 로그인 서비스를 켜줘야 한다. 위에 나와 있는 설명대로 "ssh [사용자이름]@ip주소"를 사용하여 ssh에 접속할 수 있다. 하지만 공유기에 연결되어 있어서 내부 ip 주소가 나온다. 지금 상태로는 같은 네트워크 환경에서는 접속이 가능하지만 외부에서는 접속이 불가능하다.

 

공유기 포트 포워딩

 공유기에 연결되어 있는 기기에서 웹 브라우저를 통해 192.168.0.1로 접속하여 포트 포워딩을 설정하면 된다. iptime 공유기를 사용하였는데 포트 포워드나 포트 포워딩의 이름으로 찾아보면 보통 있다. 여기서 ssh로 접속할 기기의 내부 ip를 선택하거나 입력해주고 외부 포트 22와 내부 포트 22를 설정해준다. 그러면 공유기의 포트 22로 들어온 연결이 바로 맥의 포트 22로 연결된다. 22번 포트는 ssh를 연결할 때 사용한다. 여기까지 설정해주면 외부 인터넷 환경에서도 ssh로 접속할 수 있다.

 

외부에서 연결 테스트

 다른 기기에서 ssh 접속이 잘 되는지 확인해본다. 첫 연결에는 몇 가지를 물어본다.

ssh [사용자이름]@[외부(공유기)IP주소]

 위의 커맨드로 연결을 하면 물어보는 것에 동의를 해주고 비밀번호를 입력하면 연결이 되고 명령어도 사용이 가능한 것을 확인할 수 있다. 밖에서 여러 기기로 접속을 하고 싶다면 그냥 이렇게 접속해서 사용하면 되고, 외부에서 사용할 본인의 기기가 정해져 있다면 rsa key를 등록해서 비밀번호 입력 없이 해당 기기만 접속이 가능하도록 할 수 있다.

 

RSA Key 등록하기

 접속을 하는 데 사용할 기기의 id_rsa.pub을 사용해야 한다. 일반적인 경우와 아이패드의 blink 앱의 경우 두 가지로 나누어서 확인할 것인데, 먼저 일반적인 경우부터 본다.

 

[일반적인 터미널 사용 경우]

ls ~/.ssh

 위의 커맨드를 사용하였을 때 id_rsa.pub 파일이 이미 있다면 추가로 생성하지 않아도 된다. 밑의 생성 부분은 건너뛰어도 된다.

 

ssh-keygen

 id_rsa.pub 파일이 없다면 위의 커맨드를 통해 key를 생성해준다. 물어보는 건 그냥 엔터만 쳐줘도 된다.

 

pbcopy < ~/.ssh/id_rsa.pub

 이제 생성한 public key를 복사해와야 하는데 위의 커맨드를 사용하면 내용이 클립보드에 바로 복사가 된다.

 

[iPad의 blink 앱의 경우]

config

 위의 커맨드를 입력해서 환경 설정 메뉴를 열어준다.

 Keys 메뉴 선택

 

 이미 생성한 키가 있어서 이걸 사용하는데, 없는 경우에는 우측 상단의 "+" 아이콘을 눌러서 키를 새로 만들면 된다.

 

 생성되어 있는 key를 선택하고 Copy Public Key를 선택하면 복사가 된다.

 

 

[ssh 서버에 public key 등록하기]

 복사한 내용을 ssh 서버로 사용할 기기(맥미니)로 가져온다.

sudo vim ~/.ssh/authorized_keys

 위의 커맨드를 통해 파일을 열어주고, 안에 public key를 붙여넣기 한 후 저장하면 된다.

 

sudo vim /etc/ssh/sshd_config

 등록은 했지만 일반 연결을 막고 해당 키로만 연결을 할 수 있도록 설정을 해줘야 한다. 위의 커맨드로 설정 파일을 열고 "PasswordAuthentication no"를 입력해준다. 이러면 비밀번호를 사용한 연결은 막힌다. 외부에서 암호를 사용한 무작위 공격을 받을 수도 있으니 키로 사용하는 걸 권장한다. "UseDNS no"도 추가로 입력해준다. 지금 설명하기는 긴데 이걸 사용하면 지연이 생기는 경우가 발생할 수도 있다. 굳이 필요 없으니 사용하지 않기 위해 입력해준다. 재부팅 한번 해주고 나면 이제 앞서 등록한 기기로만 접속할 수 있다.

반응형

댓글