ssh에 바로 접속하도록 키 만들기

  • mac기준

기본 ssh 접속

  • ssh root@[ip] -p 22
    • 위를 입력 후 다시 비밀번호를 입력해야한다.
  • 이러한 과정이 귀찮을때 사용

ssh 키만들기

  • ssh-keygen이라는것을 이용하여 생성
    • 접속하려는 컴퓨터에서 키를 만들어준다.
    • 어디든 상관없을듯
  • ssh-keygen -t rsa로 키 만들기
    • Enter file in which to save the key (/Users/사용자/.ssh/id_rsa): 저장위치,파일명 지정
    • Enter passphrase (empty for no passphrase): 해당 키의 비밀번호 지정, 없이도 가능
    • 만들면 파일이 두개 만들어진다.
      • 위에서 지정한 파일과 ~.pub파일이 만들어진다.
      • ~.pub파일이 서버에서 사용하는 공개키
      • 따로 확장자 없는건 접속하려는 클라이언트에서 사용
  • 로컬의 키 저장 위치
    • ~/.ssh폴더에 저장하면된다.
      • 없으면 만들기
    • 위에서 ssh-keygen으로 기본적으로 저장 될것이다.
  • 서버에게 공개키(pub파일)넘기기
    • vi ~/.ssh/authorized_keys
      • 없으면 .ssh폴더와 authorized_keys파일 만들기
      • 위에서 생성한 ~.pub파일의 내용을 서버의 authorized_keys를 만들어서 붙여넣어준다.

ssh 키를 이용해 접속

  • ssh -i [키 파일 이름] root@[주소] -p [포트번호]
    • 키 파일 이름~/.ssh/에 존재하는 키의 파일명을 맞춰주면 된다.
    • 해당 키를 생성할때 비밀번호를 작성하였으면 비밀번호를 추가적으로 입력하면 접속가능

ssh config를 이용해 바로 접속

  • vi ~/.ssh/config
    • 클라이언트의 .ssh폴더내에 config라는 파일을 생성 또는 수정
    • 아래의 내용을 붙여넣는다.
Host [ssh이름]
  HostName [ip주소]
  User [사용자명]
  Port [포트번호]
  IdentityFile ~/.ssh/[키 파일 이름]
  • 접속 방법
    • ssh [ssh이름]하게되면 알아서 config내의 host내용에 맞게 키 파일을 이용해 접속해준다.

예시

  • ssh -i rsakey root@127.0.0.1 -p 22의 내용이라면 아래와 같은 내용을 적어준다.
    • ~/.ssh/rsakey라는 키 파일이 존재
Host ssh1
  HostName 127.0.0.1
  User root
  Port 22
  IdentityFile ~/.ssh/rsakey
  • ssh ssh1로 위의 긴 접속하는 방식을 줄일 수 있다.