오늘은 shellinabox를 사용할 때 console 창에서 ID / PWD를 직접 입력하지 않고
자동으로 login이 되도록 하는 방법에 대해 포스팅하려고 합니다.
shellinabox에서 아직 잘 모르시거나, 설치가 되지 않으신 분들은 아래 링크를 먼저
참고해주시면 감사하겠습니다.
[Develope/Linux] - [Linux] shellinabox를 이용한 리눅스 web-console 및 web-ssh 사용방법
저는 ubuntu 환경에서 shellinabox auto login을 구성하도록 하겠습니다.
다른 Linux OS도 크게 다르지 않습니다.
1. python install
$ apt-get install python
2. sshpass install
$ apt-get install sshpass
3. sshd_config 수정
기본적으로 ssh의 root login이 막혀있기 때문에 sshd_config에서
root login을 할 수 있도록 수정합니다.
$ vi /etc/ssh/sshd_config
...
PermitRootLogin yes 로 수정
...
$ service sshd restart
4. cmd.sh 생성
현재 cmd.sh 설정에는 url의 param으로 password을 받아서 파싱 하여 auto login 하게 설정했지만,
param을 ID까지 추가하여 ID / PWD 모두 파싱하여 처리할 수 도 있고,
브라우저에 ID / PWD를 입력하지 않고 IP : PORT만 입력하여도 자동으로 login 하도록 처리하고 싶다면,
해당 shell 에서 PWD="{password}", USER="{ID}" 값만 입력하여
정의된 값으로 auto login 할 수 있도록 하는 것 또한 가능합니다.
$ vi /etc/default/cmd.sh
#!/bin/bash
URL="$1"
PWD="$(python -c "import urlparse;p=urlparse.urlparse(\"$URL\");print urlparse.parse_qs(p.query)[\"password\"][0];")"
USER="root" #ssh 접속할 계정 입력
sshpass -p "$PWD" ssh -o StrictHostKeyChecking=no -t "$USER@localhost"
# param으로 받지 않고 정의된 값으로 auto login 할 경우
sshpass -p "pass001" ssh -o StrictHostKeyChecking=no -t "root@localhost"
$ chmod 755 /etc/default/cmd.sh
5. shellinabox config 수정
$ vi /etc/default/shellinabox
...
SHELLINABOX_ARGS="--no-beep --disable-ssl -s '/:root:root:HOME:/etc/default/cmd.sh \"\${url}\"'"
로 변경
...
$ service shellinabox restart
6.shlleinabox console 접속
위 설정이 모두 끝났을때 구성한 shellinabox의 console url의 param으로 password를 입력하면
해당 password값을 파싱 하여 자동으로 login 되는 것을 확인할 수 있습니다.
http://192.168.33.24:3190/?password=pass001
지금까지 shellinabox auto login 구성 방법에 대한 포스팅 이였습니다.
'Develope > Linux' 카테고리의 다른 글
[Linux] Swap 영구 비활성화 방법 (0) | 2023.03.26 |
---|---|
[Linux] Ubuntu DNS 설정 (18.04 이후 버전) (0) | 2022.12.02 |
[Linux] qemu-img os image size 설정 방법 (0) | 2022.08.24 |
[Linux] ubuntu 패키지 및 Library 의존성 문제 해결 방법 (0) | 2022.08.03 |
[Linux] shellinabox를 이용한 리눅스 web-console 및 web-ssh 사용방법 (0) | 2022.08.02 |