1부 — SSH 생성
이 자습서에서는 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.
문제 해결
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
Reference
이 문제에 관하여(1부 — SSH 생성), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/jstats/how-to-deploy-a-rails-app-with-passenger-and-nginx-on-digital-ocean-part-1-creating-ssh-3ja7텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)