• 돌아가기
  • 아래로
  • 위로
  • 목록
  • 댓글
정보

웹에서 하는 우분투 ssh

뻘짓의초심자 522

6

14

인스턴스에 접근 시 일반적으로 putty나 클라우드 컴퓨팅에서 제공하는 ssh를 사용합니다.

이 때 putty 프로그램이 있어야 하거나 클라우드 컴퓨팅 사이트에 로그인해야 하는 번거로움이 있습니다.

따라서 여기서는 웹 환경에서 ssh를 여는 방법을 소개해드립니다. (단, 보안상 제한된 환경에서 사용하시고 로그인 기능 사용을 권장합니다)

(도커에서 가장 유명한 것은 wetty가 있습니다. 여기서는 도커 외에 일반 우분투에서 설치 가능한 프로그램을 알려드립니다.)

 

 

가장 간단한 방법은 shellinabox입니다.

간단하게

sudo apt-get install shellinabox

를 치시고 

https://{내IP}:4200

에 접속하시면 됩니다. (http 아닙니다, https 입니다. 자체 인증서가 있기 때문에 https로 접속하셔야 됩니다.)

세부 설정은

sudo vim /etc/default/shellinabox

로 하시면 되고 포트는 SHELLINABOX_PORT 입니다. 초기값은 4200인데 바꾸시는 것은 옵션입니다.

다음은 실행 화면 일부입니다 (아이디는 지웠습니다.)

 

image.png.jpg

putty로 접속했을 때의 화면과 동일합니다. (흑백 반전만 빼면 말이죠 ㅎㅎ)

개인적으로 미리 'sudo adduser {임의의ID}'로 로그인용 계정을 생성하시는 것도 괜찮다 봅니다. 그 이후에 visudo로 권한 조정을 해주시면 될 것 같습니다.

 

다음은 webmin입니다. (추측상 web + admin이 아닐까... 싶네요 ㅎㅎ)

이것은 기능이 좀 더 많습니다. 그래서인지 과정도 좀 복잡한데 제가 성공한 명령어를 나열해 드리겠습니다.

sudo apt update
wget -q http://www.webmin.com/jcameron-key.asc -O- | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] http://download.webmin.com/download/repository sarge contrib"
sudo apt install webmin

###위까지가 기본 설치입니다.

sudo systemctl status webmin

###여기서 설치 확인합니다.

iptables -I INPUT -p tcp --dport 10000 -j ACCEPT 
iptables -I OUTPUT -p tcp --dport 10000 -j ACCEPT 
sudo netfilter-persistent save

###선택적으로 iptables 방화벽을 개방합니다. (기본적으로 지정된 포트는 10000입니다.)

###https://{내IP}:10000로 접속하며(https 주의, http아닙니다), 기본 ID는 root입니다.

/usr/share/webmin/changepass.pl /etc/webmin root {비밀번호}

###비밀번호는 위의 명령어로 직접 수정해줘야 합니다.

###이후부터는 ID:root, pwd:{비밀번호}로 접속 가능합니다.

 

###다음 부터는 리버스 프록시 적용 시 해당합니다. (일반적인 리버스프록시보다 설정량이 많습니다. 리버스 프록시를 부적절하게 설정할 경우 로그인 후 뜬금없이 10000포트로 이동되며 ssl이 무력화될 수도 있습니다)

      proxy_http_version      1.1;
      proxy_set_header       Upgrade $http_upgrade;
      proxy_set_header       Connection "upgrade";

    proxy_redirect  off;
    proxy_set_header   Host             $host:$server_port;
    proxy_set_header   X-Real-IP        $remote_addr;
    proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;

#리버스 프록시 옵션은 위와 같습니다.

###/etc/webmin/config 에서 맨 아래에 다음을 입력해줍니다.
webprefix=
webprefixnoredir=1
referers={내 도메인 이름(aaa.com 등등)}
###/etc/webmin/miniserv.conf 에서 기본적으로 설정 돼 있는 ssl을 없애줍니다. (이후부터는 http로 접속하며, 리버스 프록시도 http를 기준으로 맞춰야 합니다.)
ssl=0
###
sudo service webmin restart
sudo service nginx restart

 

다음은 실제 활용 화면 일부입니다.

image.png.jpg

 

기본적으로 대쉬보드를 제공해주며(한글화가 제대로 안돼있는지 뜬금 없는 수코양이...)

image.png.jpg

 

다양한 기능을 제공합니다. 사실 저도 별로 사용해보진 못했습니다 ^^;;

ssh는 다음의 버튼들로 접속 가능합니다.

image.png.jpg

 

"명령 쉘"로 접속 가능합니다.

webmin은 기능은 다양하나 설치하기도 사용하기도 까다롭습니다. 직관적인 shellinabox도 괜찮은 선택지라고 생각합니다.

 

신고공유스크랩
14
2등
KelvinKang 2022.04.30. 09:15

우선 우분투가 ssh 접근이 가능하다는 전제하에..

달소님이 소개해 주신 guacamole 을 이용하시면 웹에서 shell 접근이 가능합니다.

 

webmin은 설명이 반전인데, 사실 원래 서버를 원격으로 제어하기 위해 만들어 졌고 거기에 쉘을 접속하는 기능이 붙어 있는것 입니다. 그래서 서버를 관리하기 위한 기능이 더 많이 붙어 있습니다.

 

단순 웹 쉘의 접근은 처음 설명해 주셨던 shellinabox이 맞을것 같습니다.

다만, 보안 위험과 vnc, rdp를 같이 지원하는걸 생각하면 Guacamole 이 더 나은 선택이 되실수 있을것 같습니다.

 

 

뻘짓의초심자 글쓴이 2022.04.30. 09:57
KelvinKang

상세 설명 감사합니다.

사실 guacamole도 도전해보고 wetty도 도전해봤으나 이상하게 특정 단계 이상으로 넘어가진 못하더군요. (이것은 arm 아키텍처의 한계도 있겠지만 guacamole로 ssh 접속하려하면 pass phrase를 계속 입력하라고 해서 못넘어 갔습니다.) 그래서 대안으로 찾은 것이 저 2개입니다.

webmin은 사실 저도 어제 찾았는데 그런 이유가 있었군요 ^^;; 어쩐지 이상한 기능들이 많더군요...

확실히 원격조정 기능들의 측면에서 guacamole가 여러모로 우위에 있으나 어쩔 수 없는 대안으로는 나쁘지 않은 듯 합니다.

KelvinKang 2022.04.30. 10:08
뻘짓의초심자

아, x86 환경이 아닌 환경이셨군요.. arm은 가지고 있는 장비가 없어 셋팅을 못해봤네요.

뻘짓의초심자 글쓴이 2022.04.30. 10:26
KelvinKang

wetty의 경우 arm 도커가 없고 guacamole의경우 공식 외의 다른 도커를 써야 하는데 이상하게 전 잘 안돌아가더군요... 제 실력이 부족해서 더 못 넘어가고 우회했습니다...

뻘짓의초심자 글쓴이 2022.04.30. 10:53
neidn

원래 제가 어디선가 이상한 거 주서오기를 잘합니다 ㅋㅋ

윗댓에도 나와있지만 웬만하면 도커로 guacamole 등을 설치를 권해드리긴 합니다만 이런 프로젝트가 있고 어쩔 수 없을 때 대안이 있다는 것 정도로만 봐주시면 될 듯 합니다.

profile image
달소 2022.05.01. 01:18

와우 ㅎㅎ 미리해주시는 숙제 매우 좋습니다 ㅎㅎ

kelvin님 말씀대로 아래 webmin의 경우 관리패널(?) 쪽에 가깝긴합니다 ㅎ 제가 사용했던 aapanel에서도 비슷한 기능이 있었고 유명한 cpanel등도있구요.

한번 찾아보시면 꽤나 흥미로운 컨텐츠임에는 분명합니닷

좋은정보감사합니다~

뻘짓의초심자 글쓴이 2022.05.01. 01:36
달소

결코 숙제는 아니옵고... 단지 달소님께 영감을 드릴만한 조미료에 불과하지요...

 

(특히 arm에서) 안되는 걸 되게 만드려니 이상한 것들만 알게되는 기분입니다. 달소님의 정석 가이드들이 필요한 시점입니다. 더 노력해주시옵소서

profile image
달소 2022.05.01. 01:59
뻘짓의초심자

ㅎㅎㅎㅎㅎㅎㅎ. x86으로 오시면 편안합니다.. arm은.. 메이저 이미지가 아니면 호환되는게 적어서ㅠㅠ

뻘짓의초심자 글쓴이 2022.05.01. 02:52
달소

저도 대부분의 서비스는 amd에 몰아 넣고 있습니다. 그러나 오라클arm이나 라즈베리파이는 어쩔 수 없더군요 ㅠㅠ 특히 고사양을 원하는 도커는 오라클arm에 있어서(kasm등등) 이상한 짓만 늘고 있습니다...

뻘짓의초심자 글쓴이 2022.05.01. 20:33
니속사정

이것도 흥미로운 프로젝트네요. 감사합니다.

달소님 가이드도 있으니 한 번 해봐야겠습니다.

댓글 쓰기 권한이 없습니다. 로그인

취소 댓글 등록

cmt alert

신고

"님의 댓글"

이 댓글을 신고하시겠습니까?

댓글 삭제

"님의 댓글"

삭제하시겠습니까?


목록

공유

facebooktwitterpinterestbandkakao story
번호 분류 제목 글쓴이 날짜 조회 추천
오픈소스 Hoarder 소개 📦 - AI 기반 태깅 기능을 갖춘 오픈 소스 Bookmark-Everything 앱(mymind 오픈 소스 대안) 6 달소 19시간 전22:53 171 +1
정보 Proxmox) VMware ESXi 기반 가상 머신 마이그레이션에 사용할 수 있는 새로운 가져오기 마법사 5 달소 19시간 전22:48 96 +1
정보 안녕하세요! 새로 가입했습니다. 6 Razorbacks 1일 전18:06 90 +1
3780
image
eyeball 23.04.05.21:08 1640 +16
3779 정보
image
antegral 22.05.07.01:18 3077 +16
3778 잡담
image
햇서 23.06.05.05:53 903 +14
3777
image
달소 22.03.17.22:09 18845 +14
3776 정보
image
툭툭이 1일 전11:14 472 +12
3775 정보
image
EXP 24.02.06.03:43 1121 +10
3774
image
달소 22.05.06.15:43 1022 +10
3773 정보
image
달소 24.02.19.00:58 885 +9
3772
image
theb1ue 22.06.14.16:05 4830 +9
3771
image
달소 22.03.17.22:25 4849 +9
3770 잡담
image
달소 24.01.15.03:22 574 +8
3769
image
달소 23.01.27.14:15 14948 +8
3768
image
달소 22.07.07.16:57 1942 +8
3767
image
달소 22.03.14.17:30 4064 +8
3766
image
달소 22.02.11.13:31 2962 +8
3765 후기
image
cdma2000 24.02.06.13:12 684 +7
3764 가이드
image
달소 23.07.04.20:38 1837 +7
3763
image
앨런임더 23.03.31.21:14 1746 +7
3762 잡담
image
곰삼촌 23.01.25.10:05 1073 +7
3761
image
달소 22.04.22.18:36 2220 +7