1부 — SSH 생성

6615 단어 devopswebdev
일반적으로 배포는 인내와 노하우가 필요하기 때문에 예술 형식입니다. 초보자에게는 이것이 불가능해 보일 수 있지만 초조해하지 마십시오. 몇 가지 자습서와 학습 의지가 있으면 누구나 웹 사이트나 응용 프로그램을 배포할 수 있습니다.

이 자습서에서는 Passenger 을 애플리케이션 서버로, Nginx 을 웹 서버로 사용하여 Rails 앱을 배포합니다. 또한 Rails 앱은 Postgres 을 사용하므로 이것도 설치하겠습니다.

처음부터 시작하겠습니다. 아직 가입하지 않은 경우 첫 번째 단계는 Digital Ocean에 가입하는 것입니다.

SSH 작동 방식



시작하기 전에 SSH 키를 설정해야 합니다. 이렇게 하면 비밀번호를 기억하거나 기록하지 않고도 Droplet에 안전하게 연결할 수 있으므로 비밀번호는 무차별 대입 공격에 더 취약합니다.

An SSH key pairs are two cryptographically secure keys that can be used to authenticate a client to a server. Each key pair consists of a public key and a private key.

The private key is retained by the client and should be kept absolutely secret. Any compromise of the private key will allow attackers to log into servers that are configured with the associated public key without additional authentication. As an additional precaution, the key can be encrypted on disk with a passphrase.

The associated public key can be shared freely. The public key can be used to encrypt messages that only the private key can decrypt. This property is employed as a way of authenticating using the key pair.

The public key is uploaded to a remote server that you want to be able to log into with SSH. The key is added to a special file within the user account you will be logging into called ~/.ssh/authorized_keys.

When a client attempts to authenticate using SSH keys, the server can test the client on whether they are in possession of the private key. If the client can prove that it owns the private key, a shell session is spawned or the requested command is executed.



엘링우드, 저스틴. “How To Configure SSH Key-Based Authentication on a Linux Server ” 디지털 오션. DigitalOcean Inc, 2014년 10월 20일. 편물. 2015년 4월 26일.



SSH 생성



1단계 - RSA 쌍 생성



먼저 명령줄로 이동하여 다음을 입력하여 컴퓨터에 RSA 쌍을 생성해야 합니다.

>  $ ssh-keygen -t rsa -C “**[email protected]**”
>  # This will create a new SSH key


2단계 — 새 SSH 키 생성



ssh-keygen은 RSA 쌍이 어디로 가야 하는지 묻습니다. 기본 설정을 그대로 유지하는 것이 좋으므로 Enter 키를 누릅니다.

>  $ Enter file in which to save the key (/Users/**you**/.ssh/id_rsa): **[Press enter]**


그러면 ssh-keygen이 암호를 묻습니다. SSH 키가 해킹당하지 않도록 강력한 암호를 생성하는 것이 좋습니다.

>  $ Enter passphrase (empty for no passphrase): **[Type a passphrase]**
>  $ Enter same passphrase again: **[Type passphrase again]**


암호를 입력하면 ssh-keygen이 키를 생성하고 결과를 화면에 표시합니다.

>  Your identification has been saved in /Users/**you**/.ssh/id_rsa.
>  Your public key has been saved in /Users/**you**/.ssh/id_rsa.pub.
>  The key fingerprint is: 01:0f:f4:3b:ca:85:d6:17:a1:7d:f0:68:9d:f0:a2:db 
**[email protected]**


3단계 — ssh-agent에 SSH 키 추가



공개 키의 소유자임을 확인하기 위해 개인 SSH 키를 저장하려면 ssh-agent에 추가해야 합니다.

먼저 ssh-agent가 활성화되어 있는지 확인하십시오.

$ eval “$(ssh-agent -s)”

ssh-agent에 SSH 키 추가

$ ssh-add ~/.ssh/id_rss

4단계 — Digital Ocean 계정에 SSH 키 추가



먼저 SSH 키를 클립보드에 복사해야 합니다. SSH 키를 강조 표시하여 복사해서는 안 됩니다. 공백이나 줄 바꿈으로 인해 SSH와 Digital Ocean의 SSH 간의 일치가 중단되기 때문입니다.

$ pbcopy < ~/.ssh/id_rsa.pub

# Copies the contents of the id_rsa.pub file to your clipboard

아직 Digital Ocean에 로그인하지 않았다면 로그인하십시오. 페이지 오른쪽 상단에 있는 사람 아이콘을 클릭합니다. 이렇게 하면 옵션이 제공되며 설정을 선택한 다음 보안 탭을 선택합니다.

조금 아래로 스크롤하면 SSH 키를 입력하는 양식이 표시됩니다.

SSH 키의 이름을 입력합니다. SSH를 사용하는 컴퓨터의 이름이어야 합니다.



SSH 키에 붙여넣기



SSH 키 생성을 클릭하여 SSH 키를 계정에 저장합니다.

기존 드롭릿에 SSH 키 적용

SSH 키가 없는 일부 Droplet을 이미 생성한 경우 생성한 Droplet을 계속 적용할 수 있습니다. 기존 Droplet이 없는 경우 이 섹션을 건너뜁니다.

SSH 키를 사용하려는 기존 Droplet 각각에 대해 이 명령을 입력합니다.

$ cat ~/.ssh/id_rsa.pub | ssh root@**[your Droplet ip address]** “cat >> ~/.ssh/authorized_keys”

# This will connect to your Droplet and create a file called authorized_keys with your SSH key, in the Droplet.

문제 해결
  • 비밀번호를 입력해야 한다면 컴퓨터나 Digital Ocean의 공개 키에 문제가 있는 것입니다.

  • Droplet을 파괴한 다음 동일한 IP 주소에 다른 Droplet을 만들면 경고 메시지가 표시됩니다. 알려진 호스트에서 제거하려면 이 명령을 사용하십시오.

    $ ssh-keygen -R [귀하의 Droplet IP 주소]

  • 그런 다음 서버에 다시 연결해 보십시오.

    첫 번째 부분에 대한 결론



    이것은 시작에 불과합니다. 각 Droplet에 대해 서로 다른 암호를 기록하거나 기억할 필요 없이 다양한 Droplet을 생성하여 Droplet 유지 관리에 집중할 수 있도록 기본 설정이 있습니다.

    SSH 키 생성 및 기존 Droplet 업데이트를 완료하면 새 Droplet을 생성할 차례입니다. 그래서 이것을 클릭하면 다음 부분으로 이동합니다.

    참조



    이 게시물 작성에 사용된 기사:

    GitHub Help: Generating SSH Keys

    How To Use SSH Keys with DigitalOcean Droplets

    How To Configure SSH Key-Based Authentication on a Linux Server

    좋은 웹페이지 즐겨찾기