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

시놀로지 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 24998 +24
공지 DSM 7.2v) ARPL-i18n(rr)으로 헤놀로지 부트로더 빌드하기. 73 달소 23.05.23.23:58 26587 +23
토렌트 알림 디스코드로 받기 2 블랙앤해적 2일 전20:02 298 +1
비추 취소 기능은 없나요..? 19 나와너 2일 전15:25 277 +7
ghost 블로그를 만들어 봤습니다 12 빨간물약 4일 전15:26 442 +3
1361
normal
트레이스1234 22.06.06.19:50 438 +1
1360
normal
OwO 22.06.06.16:58 168 0
1359
image
스기 22.06.06.16:57 275 +4
1358
image
화정큐삼 22.06.06.16:38 520 +5
image
ExpBox 22.06.06.16:08 1121 +2
1356
normal
초코로핀 22.06.06.16:01 152 0
1355
normal
미나리나물 22.06.06.15:24 135 +1
1354
normal
서버밍재 22.06.06.12:37 125 0
1353
image
핫포사이 22.06.06.12:05 534 +5
1352
image
달소 22.06.06.09:15 15851 +17
1351
image
달소 22.06.06.05:48 1621 +4
1350
normal
발냄새나요 22.06.06.04:06 909 +1
1349
normal
TheSTREET 22.06.05.21:20 653 +4
1348
image
야광오리 22.06.05.20:50 126 0
1347
normal
화정큐삼 22.06.05.19:55 226 +5
1346
image
고라니 22.06.05.19:54 509 +2
1345
image
Jjun 22.06.05.16:59 490 0
1344
normal
핑크 22.06.05.15:14 249 0
1343
normal
블랙앤해적 22.06.05.14:23 781 +3
1342
image
초보나스 22.06.05.13:41 288 +2