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

시놀로지 SSH 접속 시 다른 쉘 사용하기

ExpBox ExpBox 1113

2

1

요즘 시놀로지 SSH에 접속할 일이 많아져서 아예 포트를 열고 사용하고 있습니다. 그런데 일반적으로 시놀로지 SSH에 접속하면 유닉스 오리지널 쉘인 Bourne Shell(/bin/sh)로 접속하게 됩니다. 그런데 저는 이게 마음에 들지는 않습니다. 그래서 다른 쉘로 갈아타보도록 하겠습니다.

 

저는 fish 를 사용할건데 레퍼런스인 아래 링크를 보면 zsh로 되어있으나 경로만 잘 찾아서 입력하면 bash, fish 등 다른 쉘로도 얼마든지 변경 가능합니다. 저도 fish 써보다가 익숙한 bash로 다시 넘어갈지도 모르겠네요.

 

https://3os.org/infrastructure/synology/Install-oh-my-zsh

 


 

0. home 디렉터리 활성화하기

 

이 방법은 home 디렉터리에 .profile 파일을 넣음으로 쉘을 변경하는 방법이기 때문에 꼭 제어판 -> 사용자 및 그룹(DSM 7.0) -> 고급 -> 사용자 홈 서비스 활성화 에 체크하셔야합니다.

 

1. 쉘 설치

 

먼저 쉘을 깔아주는 작업을 해야합니다.

 

패키지 센터 -> 설정 -> 패키지 소스 로 이동하여 아래의 URL을 추가합니다.

http://packages.synocommunity.com/

 

image.png.jpg

 

이렇게 추가하면 끝입니다.

 

그리고 패키지 센터 -> 커뮤니티 -> fish 로 이동하여 설치하면 작업은 끝이납니다.

(더 밑으로 가면 z shell도 있습니다.)

 

image.png.jpg

(검색해서 찾으셔도 됩니다.)

 

 

2. 사용하고 싶은 쉘의 경로 찾기

 

레퍼런스에는 없는 부분입니다. 일반적인 리눅스 배포판에서는 /bin/ 디렉터리 안에 명령어들이 있는 경우가 많지만 시놀로지에서는 다릅니다. 각 패키지들이 설치되는 공간이 다르기 때문이죠. 따라서 쉘의 경로를 찾아서 제대로 경로를 지정해주어야합니다.

 

https://zetawiki.com/wiki/%EB%A6%AC%EB%88%85%EC%8A%A4_%EB%AA%85%EB%A0%B9%EC%96%B4_%EC%9C%84%EC%B9%98_%ED%99%95%EC%9D%B8

 

위의 링크를 참고하여 확인하면 됩니다. 저는 아래의 명령어를 사용했습니다.

 

type fish

 

그러면 아래와 같이 명령어의 디렉터리를 찾게 됩니다.

image.png.jpg

(fish를 이미 설치해서 색이 여러가지로 나옵니다 :D)

 

대부분의 사용자가 설치한 명령어는 저 디렉터리(/usr/local/bin/)에 설치되는 것 같습니다. 저 디렉터리를 복사해놓거나 잘 기억해 두시면 됩니다.

 

 

3. 기본 쉘 변경하기

 

원래는 /etc/passwd 에서 쉘을 변경할 수 있지만 시놀로지는 그렇지 못합니다. id/pw를 정상으로 입력하거나 키를 이용해서 접속해도 동일하게 permission denied 라는 오류를 뿜어대며 접속을 거부하죠. 이 부분은 외국 커뮤니티를 확인해본 결과 쉘에 ash와 sh만 사용하도록 하드코딩이 되어있어서 /etc/passwd를 변경한 것으로는 접속 자체가 불가능합니다. 그래서 그 글에서는 쉘을 다시 빌드하는 것으로 해결을 했다고 하더군요. 하지만 그렇게까지 할 필요는 없습니다.

 

SSH로 접속해서 아래의 명령어를 입력합니다.

 

vi ~/.profile

 

그리고 i를 눌러 입력모드로 변경한 뒤 아래의 스크립트를 입력해줍니다. 빨간색이 디렉터리 부분으로 2에서 찾은 디렉터리를 넣으시면 됩니다.

 

if [[ -x /usr/local/bin/fish ]]; then
  export SHELL=/usr/local/bin/fish
  exec /usr/local/bin/fish
fi

 

혹은 메모장에서 위의 스크립트를 입력하여 .profile 파일명으로 저장하여 home 디렉터리에 업로드 하셔도 무방합니다.

 

대충 스크립트를 보면 꼼수로 실행한 것 같은데 잘 실행되었으니 넘어가도 되지 않을까 싶습니다. 원래는 .profile에 /usr/local/bin/fish 만 넣어놨을 때는 접속이 되긴 했지만 접속 종료 시 exit을 두번이나 입력해야하는데다 echo $SHELL 입력 시 /bin/sh가 떴는데 이 방법을 사용하니까 그런 문제가 깔끔하게 사라지더군요.

 

image.png.jpg

이렇게 잘 접속이 됩니다 :D

 

이제 SSH 키 접속 전용으로 돌려놓고 쉘도 변경했으니 자주 접속해서 관리해야겠습니다.

신고공유스크랩
1
profile image 1등
달소 2022.06.07. 10:14

오호.. fish 쉘도있군요!

시놀로지에서는 당연히(?) 기본 쉘만 되는줄알았는데 또 하나배워갑니다~

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

취소 댓글 등록

cmt alert

신고

"님의 댓글"

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

댓글 삭제

"님의 댓글"

삭제하시겠습니까?


목록

공유

facebooktwitterpinterestbandkakao story

첨부 0

번호 분류 제목 글쓴이 날짜 조회 추천
공지 정보 DSM 7.2v) Mshell로 헤놀로지 부트로더 빌드하기. 61 달소 23.05.29.01:57 24307 +23
공지 정보 DSM 7.2v) ARPL-i18n(rr)으로 헤놀로지 부트로더 빌드하기. 72 달소 23.05.23.23:58 25859 +23
잡담 RAID5(SHR)의 저장속도가 이렇게나 빠른거였네요.. (NVMe SSD삽질) 10 estel1 3일 전23:51 477 +2
가이드 시놀로지 도커로 Wireguard VPN + qBittorrent + tsharp(It's torr) 사용하기 10 펜타네스트 6일 전16:13 431 +4
질문 헤놀로지 2.5g usb 랜카드 추가 5 넌누구냐 6일 전14:38 337 +1
5071 질문
image
ezcamp 2시간 전11:15 61 0
5070 질문
image
두데 3시간 전10:31 78 0
5069 질문
normal
서브어린이 17시간 전20:33 102 0
5068 후기
image
추주비 1일 전12:21 203 0
5067 질문
image
서브어린이 1일 전19:59 419 0
5066 질문
normal
현이들아빠 1일 전15:02 162 0
5065 질문
image
서브어린이 2일 전12:18 403 0
5064 질문
image
지나가는_문과생 2일 전12:14 281 0
5063 질문
image
동도리군 2일 전07:16 92 0
5062 질문
normal
서브어린이 2일 전21:48 92 0
5061 질문
image
사십동 3일 전05:49 170 0
5060 질문
image
서브어린이 3일 전23:57 126 0
5059 잡담
image
estel1 3일 전23:51 477 +2
5058 질문
image
까칠한나그네 3일 전14:20 226 0
5057 질문
normal
라라라라데이 4일 전12:29 304 0
5056 질문
image
orange0909 4일 전12:20 300 0
5055 질문
image
금화 4일 전15:14 364 0
5054 질문
image
당신의곁애 5일 전12:24 250 0
5053 질문
normal
정전리 5일 전12:14 142 0
5052 질문
normal
xpnol 5일 전11:09 285 0