해당 포스트는 개인 블로그에 작성하고, 클리앙으로 복사하였습니다.
양해 부탁드립니다 ^^
블로그 원글 출처 :http://ift.tt/2hsuwSK
맥에서 SSHPass 설치부터 사용까지 (비밀번호 없이 SSH 접속하기)
“homebrew에서는 공식적으로 SSHPass 지원을 안하기에 설치하는 겸 포스팅을 작성한다.”
1. SSHPass 란?
SSHPass란 손쉽게 말하자면, Desktop에서 Server로 비밀번호 없이 접속할 수 있도록 도와주는 역할이라고 보면 된다.
사실 SSHPass가 없어도 ssh-keygen으로 공개키를 만들어서 Server 에서 작업하여 설정할 수 있지만, 그런 작업이 번거롭고 힘든 사람들을 위해 SSHPass를 사용하면 어느 누구나 5분 이내에 설정을 완료할 수 있다.
사실 나도 SSHPass 방식이 아닌 기존 방식을 시도했다가 물먹은 적이 있기 때문에 SSHPass를 추천한다.
* 여기서 진행하는 방식은 Mac OS에서 진행하는 부분이다. 기존 Linux 에서는 다음과 같이 쉽게 sshpass를 설치할 수 있다.
apt-get install sshpass # In Ubuntu
yum install or dnf install sshpass # In Centos
2. 다운로드 및 설치
맥에서는 brew를 사용하여 SSHPass를 직접 설치해야한다.
Terminal(또는 iTerm 2)에서 다음을 입력하여 진행한다.
brew installhttp://ift.tt/23yg1Lz
설치가 완료되었는지 확인해본다.
3. SSH 비밀번호 입력 없이 자동 로그인 사용하기
ssh-keygen 명령어를 사용하여 Private/Public 키를 생성한다.
이 키는 ~/.ssh/ 폴더에 id_rsa(개인 키), id_rsa.pub(공개 키)) 파일로 저장된다.
In Mac
ssh-keygen
서버 로그인 테스트
현재 kown_hosts에 등록되지 않은 상태이니 ssh 를 사용하여 host를 등록 후 계정에 접속한다.
서버에 공개키 등록하기
sshpass -p “서버 접속 Password” ssh-copy-id ID@HOST -p 22 (-p 22 의 경우 Default Port 값이기 때문에 생략 가능)
ssh ID@HOST -p 22
모든 과정이 완료되었으니 기존 ssh 명령어를 사용하여 서버에 접속을 시도해본다. 정상적으로 완료되었다면 Password 입력과정 없이 정상적으로 접속이 될 것이다.
4. 추가 보안 내용
보통 root 계정의 접속은 보안상의 이유로 대부분 막아두는 것을 권장하고 있다.
PermitRootLogin no # Root 계정의 접속 막기
in /etc/ssh/sshd_config
하지만, 이 sshpass 를 사용하여 authorized_keys를 등록하였다면, root 계정으로 접속을 손쉽게 할 수 있다.
PermitRootLogin without-password
in /etc/ssh/sshd_config
나는 위에서 인증 받은 sshpass_test 계정 내부의 /sshpass_test/.ssh/authorized_keys 파일을 /root/.ssh/authorized_keys 로 복사하여 root 게정 또한 동일하게 접속이 가능하도록 변경하였다. (인증된 Desktop이 1개 이기 때문에 복사하였다.)
여러 Desktop에서 설정할 경우 생성한 id_rsa.pub 을 root 디렉토리의 ~/.ssh/ 로 복사 후 cat id_rsa.pub >> authorized_keys 로 추가하는 방법도 있다.
피드백은 달게 받겠습니다 :)
많이 부족하지만, 봐주셔서 감사합니다.
클리앙에서 에디터에서 script 태그가 비허용이기 때문에 부득이하게 link로 들어가서 봐야하는 불편함이 있습니다.
웹에서 바로 보시려면 블로그 링크 들어가시면 더욱 쾌적하게 보실 수 있습니다. (블로그에 광고 없습니다!)
새해 복 많이 받으세요!
December 31, 2017 at 06:49AM