본문 바로가기

Linux-Unix

ssh 암호 없이 서버에 access 하기

ssh, 암호 없이 서버에 access 하기(ssh 접속, scp 파일복사 등)



1. Get ssh-copy-id 


우선 서버에 인증키를 카피하기 위해, ssh-copy-id 라는 command 가 필요합니다.


아래 명령으로 다운로드 받고 권한설정을 변경해줍니다.

 $ sudo curl "http://phildawson.co.uk/ssh-copy-id" -o /usr/bin/ssh-copy-id
 $ sudo chmod +x /usr/bin/ssh-copy-id


혹시 다운로드가 안되면... 직접 vi 를 통해서 아래 내용을...




2. ssh-keygen 를 사용해 공개키 생성하기


사용자의 home 디렉토리의 .ssh 디렉토리로 이동합니다. 디렉토리가 없다면 생성해주고, 공개키를 생성합니다.

(보안을 위해 퍼미션을 700 으로 바꿔주어요.)

passphrase 를 입력하라고 하는데, 그냥 엔터를 쳐줍니다. (이걸 넣으면 서버 접속할때 다시 이 암호를...)


 $ mkdir ~/.ssh

 $ chmod 700 ~/.ssh

 $ ssh-keygen -t rsa




3. 서버에 local 의 공개키 복사하기


1. 에서 다운받은 ssh-copy-id 명령으로 공개키를 서버에 복사합니다.

복사할때 해당 계정의 password 를 한번 물어봅니다.

 $ ssh-copy-id [계정]@[서버주소]


 [계정]@[서버주소]'s password: 

 Now try logging into the machine, with "ssh '[계정]@[서버주소]'", and check in:


   .ssh/authorized_keys


 to make sure we haven't added extra keys that you weren't expecting.


이제 서버에 접속해서 확인을 해봅니다. 이제 부터 해당 계정을 사용할때는 ssh, scp 명령등을 사용할때 암호를 물어보지 않습니다.

 $ ssh [계정]@[서버주소]