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

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

ExpBox ExpBox 1121

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로 헤놀로지 부트로더 빌드하기. 62 달소 23.05.29.01:57 25016 +24
공지 정보 DSM 7.2v) ARPL-i18n(rr)으로 헤놀로지 부트로더 빌드하기. 73 달소 23.05.23.23:58 26608 +23
정보 토렌트 알림 디스코드로 받기 2 블랙앤해적 3일 전20:02 299 +1
질문 비추 취소 기능은 없나요..? 19 나와너 3일 전15:25 279 +7
후기 ghost 블로그를 만들어 봤습니다 12 빨간물약 5일 전15:26 446 +3
5119 질문
image
나스버섯 1시간 전18:56 17 0
5118 질문
normal
서버왕자 10시간 전09:17 62 0
5117 질문
normal
콩이아빠 22시간 전21:17 303 0
5116 잡담
normal
훔친수건 1일 전19:32 413 0
5115 질문
normal
xpnol 1일 전16:04 113 0
5114 질문
image
나스버섯 1일 전13:16 175 0
5113 질문
normal
지나가는_문과생 1일 전00:13 86 0
5112 질문
normal
햄뽁이아빠 1일 전21:46 179 0
5111 질문
normal
2km 2일 전15:20 277 0
5110 질문
normal
서브어린이 2일 전10:11 129 0
5109 질문
image
지나가는_문과생 2일 전08:47 139 0
5108 질문
normal
넌누구냐 2일 전00:02 200 0
5107 정보
normal
블랙앤해적 3일 전20:02 299 +1
5106 질문
normal
나와너 3일 전15:25 279 +7
5105 질문
image
THUBAN 3일 전12:53 284 0
5104 질문
normal
서브어린이 4일 전12:00 143 0
5103 후기
image
빨간물약 5일 전15:26 446 +3
5102 질문
image
지축또타 5일 전13:44 405 0
5101 질문
image
김펭귄 5일 전08:48 184 0
5100 질문
normal
헤놀로지맨 5일 전07:21 248 0