하츠의 꿈

Termux - 안드로이드 폰 SSH 접속하기, 스마트폰 앱 본문

울랄라 스마트폰 리뷰

Termux - 안드로이드 폰 SSH 접속하기, 스마트폰 앱

명섭이 2019. 4. 28. 16:54

삼성 갤럭시, LG G8 / V50, 샤오미 폰 등 스마트폰 운영체제(OS)가 리눅스 기반이라는 것을 잊고 살아온지 오래다.

구글의 스마트폰 OS  '안드로이드' 뿐 만 아니라 또다른 스마트폰 OS인 '우분투 포 폰' 등 리눅스 기반에서 파생된 OS는 생각보다 상당히 다양하다. 리눅스 소프트웨어는 GNU 기반의 오픈 소프트웨어 이기 대문에 가능한 것이고, 안드로이드 또한 오픈 소프트웨어이다.

그 중 구글이 만들고 다양한 기업이 채택해 사용하는 '안드로이드'가 스마트폰 OS로는 대세로 자리잡아가고 있다.

그래서 안드로이드 스마트폰은 리눅스에서 사용하는 Shell 명령을 대부분 그대로 사용할 수 있다. 일부 root 권한이 있어야 하는 것을 제외하고는 말이다. 이 또한 루팅을 하면 모두 제어할 수 있기도 하다.

터미널을 통해서 원격 서버에 접속해서 Shell을 사용하는 방법에는 보안을 강화한 SSH 접속이 일반화되어 있고, 안드로이드폰에서도 SSH를 통한 서버 접속이 가능하다.(당연하겠지만.)

 

안드로이드 terminal emulation 앱 'Termux'

오늘 소개하는 스마트폰 앱 'Termux'은 터미널로 외부 서버에 접속해서 작업을 할 수 있는 terminal emulation이다.

안드로이드 구글 플레이 다운로드 바로가기

Termux 홈페이지 바로가기

구글플레이 앱 설명에서 보면..

  • bash 및 zsh Shell 사용 가능
  • nano 및 vim으로 텍스트 파일 편집 가능
  • ssh를 통해 서버 접속
  • clang, make 및 gdb를 사용한 C 개발 작업
  • 파이썬 콘솔을 포켓 계산기 사용
  • git 및 subversion을 사용한 프로젝트 관리
  • frotz로 텍스트 기반 게임 실행

즉 PC에서 SSH를 통한 원격 서버에 접속해서 할 수 있는 대부분의 작업이 가능하다는 것이다.

 

Termux 기본 메뉴얼과 pkg 프로그램 인스톨

Termux를 실행하면 간단한 기본 메뉴얼이 나타난다. 그 중 pkg 를 통한 프로그램 설치가 가능하다는 것이 보인다. 즉, 일반적인 리눅스 시스템에서와 마찬가지로 Shell에서 필요한 프로그램을 추가 설치하여 이용할 수 있다.

Termun를 실행하면 내 안드로이드 스마트폰을 Shell 화면으로 접속하게 된다. 기본적으로 로그인이 되어 있고, root 권한이 아닌 사용자 권한으로 접속된다. 



흔히 사용하는 w, ls, top 등 대부분의 기본 프로그램은 바로 사용이 가능하다. 그 외에 필수로 사용하는 SSH 등은 설치 되어 있지 않다.

$ pkg search ssh 명령으로 보니 openssh가 검색된다. pkg install openssh 명령으로 SSH를 사용하기 위한 프로그램 openssh를 설치했다.

 

Termunx - pkg 를 이용한 openssh 설치 화면

openssh를 설치하는 과정은 리눅스 머신에서 보는 것과 똑같다. 몇번의 질문이 있고 별 문제없이 설치가 안료되었다. 프로그램 설치 위치는 /data/data/com/termux/files/usr/etc/ 이다.

 

Termux 를 이용한 SSH 이용

SSH를 외부 서버 접속을 시도했다. '$ ssh 서버id@서버주소' 명령으로 이용할 수 있다. 스마트폰 키보드를 통한 패스워드 입력이 낯설어서 처음 몇번은 오류가 났다. 영문 자판에서 한글 구성으로 된 영문 입력이 쉽지 않다.

Termux 의 기본적인 사용법을 PC 키보드와 비교해서 알아보자

  • ESC : PC 키보드의 좌 상단 [ESC]와 같다.
  • 좌우 화살표 : PC 키보드의 탭(Tab) 키와 같다. 파일명 일부를 입력한 후 탭을 누르면 완성해서 찾아주는 것도 가능하다.
  • CTRL, ALT : 해당 키를 누르면 동시 입력이 가능하다. 예를 들어 CTRL+C 등의 입력이 가능하다.
  • - : 리눅스에서 '-'를 자주 이용하다보니 기본으로 제공되는 키다.
  • 아래 화살표, 위 화살표 : 이전, 다음 명령어 히스토리 기능이다.
  • 화면에서 길게 누르기 : 텍스트 복사/붙어넣기 기능이다.

이러한 기본 펑션을 이용하면 PC에서 이용하던 대부분의 기능을 사용할 수 있다. 


 

Termux 로 접속한 SSH에서 명령어 실행

Termux에서 SSH로 외부 서버에 접속하면 PC에서 사용하던 Shell과 거의 똑같이 명령어 이용이 가능하다.

grep 으로 파일을 읽고 문장을 찾을 수 있고, top을 실행해서 프로세스를 확인할 수 있다. top 프로그램을 실행하다가 끝내려면 하단의 CTRL 키를 누른 후 'c'를 누르면 CTRL+C 가 된다.

 

Termux 프로그램 설치 정보

스마트폰에서 프로그램 설치 정보를 보면, Termux는 설치가 되어 있는 것을 확인할 수 있다. 하지만, Termux 의 쉘에서 설치한 openssh는 보이지 않는다.

앞에서 openssh 설치하는 과정에서 봤듯이 Termux 상에서 설치하는 파일은 그 하위에 설치가 된다. 그래서 Termux 앱 설치를 제거하면 함께 제거될 것으로 보인다.


9 Comments
  • 프로필사진 BlogIcon 미원 허진행 2019.07.27 22:49 신고 고맙습니다! 그런데 혹시 SSH셸 로그인시 사용자 이름을 묻는 프롬포트가 뜨는데 유저네임은 무엇으로 해야 하나요?
  • 프로필사진 BlogIcon 명섭이 2019.08.01 18:55 신고 서버의 계정 아이디 입니다.
  • 프로필사진 BlogIcon 미원 허진행 2019.08.01 19:02 신고 답변 감사드립니다. 그런데 제가 궁금한 사항은 Termux에서 SSH서버를 구동하여 PC등에서 Termux에 SSH 접속할 경우의 유저네임을 무엇으로 해야 하는가에 대한 것이었습니다.
  • 프로필사진 BlogIcon 명섭이 2019.08.03 20:57 신고 Termux는 SSH 서버 기능은 없는 터미널 프로그램입니다.
    스마트폰 등 모바일에서 원격 서버에 접속하여 작업할 때 사용됩니다.
    그래서, 접속하고자하는 SSH 서버의 계정으로 로그인해야 합니다.
  • 프로필사진 BlogIcon 미원 허진행 2019.08.03 21:45 신고 아.. 그런가요? 공식홈페이지에서는 된다는 것 같기도 하던데.. 아닌 모양이네요!
  • 프로필사진 BlogIcon 명섭이 2019.08.03 22:27 신고 아.. 제가 기능을 다 알지 못한 것일수도 있어요.
  • 프로필사진 민혁 2020.03.07 09:22 저 실례가 안된다면 구글 계정도 해킹해서 잃어버린 계정 찾을수있나요? 귀찮더라도 한번만 읽어 주십시요 계정을 잃어버렸는데 비밀번호도 뭐라고 이메일만 아는데 termux로 하실수있으시면 한번더 게시물에 올려드려주세요 ㅜㅜ 거기에 중요한 파일이랑 자료들이 다 거기에 있어요 귀찮 더라도 한번만 읽어주세요 비번 1234
  • 프로필사진 BlogIcon 아치리 2021.04.21 16:05 구글 계정은 구글에 문의하세요...
  • 프로필사진 아주탱탱해 2021.09.05 18:37 ssh 는 다른 서버에 접속하는 기능입니다. ssh로 접속한 서버가 제공하는 shell을 사용할 수 있게 해주는 것입니다. 보통의 *NIX 시스템은 bash나 sh를 제공하죠. 일단은 termux는 bash emulation을 제공하고, 이 bash가 완벽한 linux는 아니지만 핸드폰 또는 탭의 OS에서 일부 기능을 사용할 수 있게 해드리는 겁니다.
    termux의 pkg를 이용해서 openssh를 설치하시면 접속해야 할 서버에 ssh 접속을 해서 작업이 가능해집니다. 접속해야 할 서버가 있다는 것은 접속에 필요한 계정과 비밀번호를 알아야 한다는 것이지요.
    단, termux에서도 일부 C개발 python 개발을 지원한다고 하니 학습을 위해 간단한 사용은 가능하십니다.
    @명섭이 님, 덕분에 좋은 프로그램 찾아서 잘 사용하고 있습니다. 감사합니다.
댓글쓰기 폼