프로그래밍/운영체제

[리눅스] C9.io Remote SSH authorized_keys 설정

포도알77 2019. 3. 19. 08:43
까먹지 말자 


 Ubuntu를 설치하고, 가장 기본적으로 설치하는 openssh-server 이후, config 파일을 설정해야하는데, 지금까지 대충하다가 그냥 기록해두고 써먹으려고한다.


 대부분의 default 세팅이 그러하듯, 거의 수정할 것이 없다.   
sudo apt-get update
sudo apt-get install openssh-server --yes
sudo apt-get install vim --yes
sudo vim /etc/ssh/sshd_config


이후 sshd_config에서 설정해야 할 것은
RSAAuthoentication yes 
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication Yes


 여기서 RSA는 프로토콜 2가 아닌 1에서 쓰인다는데 일단은 열어뒀다.


 보안상 닫아야할 수도 Pubkey는 공개키 기반  접근으로 C9.io가 사용하는 방식이기 때문에 열어준다. 아마 기본이 열려있는 상태일것이다.  


 AuthorizedKeysFile은 키를 저장하는 곳인데, 우분투 설치시 ~/.ssh/authorized_keys 가 없을 수도 있다.(대부분 없다)


 그래서 만들어줘야 한다. 만약 AuthorizedKeysFile이 주석 처리되어있다면, 기본 위치가 %h/.ssh/authorized_keys이다. 


 PasswordAuthenticiation은 비밀번호를 입력하고 들어오는 방식, 기본적인 SSH 방식으로 끄면, 로그인 자체가 안된다. 



 아무튼 C9.io를 설정하려면 프로젝트 설정 화면에 사용자 이름과 포트, 그리고 기본 위치 입력창과 키값을 준다. 


 입력창은 적당히 입력하면 되고, 이제 문제는 키파일인데
sudo mkdir ~/.ssh
sudo vim ~/.ssh/authorized_keys
sudo chmod 700 ~/.ssh
sudo chmod 600 ~/authorized_keys
이후 제공된 키 값을 authorized_keys에 복붙후 저장한다. 



그다음
sudo service ssh restart
하면 될것 같지만 안된다. 


 아무래도 c9.io는 그룹기반으로 접근하는 것 같은데 이렇게 해버리면, 소유자 문제로 아마 pubkey 인증 실패가 뜬다. 



 우선 정확한것은 모르겠지만 아래와 같이 소유자와 권한을 바꿔준다.   
sudo chmod 711 ~/.ssh/.

sudo chmod 700 ~/.ssh/..

sudo chmod 644 ~/.ssh/authorized_keys



이후 ls -al로 확인해보면, 아래와 같이 출력된다.    
drwx--x--x  2 root	root	. 
drwxr----- 21 계정	계정	..
-rw-r--r--  1 root	root	authorized_keys

  



 왜 나만 이렇게 해야하는지 모르겠다 다른사람들은 700, 600주면 된다던데.. 어려운 리눅스   그리고 만약 Node.js관련 오류가 발생한다면, node.js를 설치해주자.

sudo apt-get install node.js



페이스북으로 공유카카오톡으로 공유카카오스토리로 공유트위터로 공유URL 복사