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

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

ExpBox ExpBox 1138

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로 헤놀로지 부트로더 빌드하기. 63 달소 23.05.29.01:57 25950 +25
공지 DSM 7.2v) ARPL-i18n(rr)으로 헤놀로지 부트로더 빌드하기. 73 달소 23.05.23.23:58 27510 +23
나만의 구독 관리하기 Wallos 서버 구축하기.(DSM) 4 달소 5일 전17:30 413 +3
m.2 nvme 단독설치(DSM 및 볼륨)를 위한 nvmesystem addon for mshell 배포. 19 화정큐삼 24.05.13.21:48 454 +8
nvmesystem addon for mshell 을 테스트 중입니다. 5 화정큐삼 24.05.13.12:06 209 +7
4700
image
quad 22.06.28.19:52 395 +4
4699
image
달소 22.06.28.15:32 27701 +23
4698
normal
달소 22.06.28.14:10 173 +3
4697
image
렉스님 22.06.28.10:18 1226 +7
4696
image
달소 22.06.28.00:11 1248 +4
4695
image
쌉쌀개 22.06.26.12:25 5532 +6
4694
image
화정큐삼 22.06.26.01:42 3385 +13
4693
image
ExpBox 22.06.23.21:09 678 +6
4692
image
이세라 22.06.23.20:26 714 +3
4691
normal
화정큐삼 22.06.22.12:21 1240 +8
4690
image
달소 22.06.16.11:56 5498 +10
4689
normal
이세라 22.06.10.15:10 564 +1
4688
image
달소 22.06.09.19:45 1760 +6
image
ExpBox 22.06.06.16:08 1138 +2
4686
image
달소 22.06.06.09:15 15911 +17
4685
normal
새캄둥이 22.06.02.09:49 704 0
4684
image
ExpBox 22.06.02.01:48 955 +2
4683
image
달소 22.05.31.10:18 306 +1
4682
image
화정큐삼 22.05.28.18:47 6603 +13
4681
image
이투 22.05.26.14:41 588 +2