Bash+SSH 소개

5768 단어 bash
이 주제는 매우 풍부할 수 있기 때문에 나는 깊이 연구하지 않을 것이다.다음을 소개합니다.
  • ssh 접근 키와 개인 키 쌍을 설정하는 방법
  • ssh 에이전트에 키 추가(해당하는 경우)
  • 원격 시스템에 SSH 연결 방법
  • 로컬 시스템과 원격 시스템 간에 파일을 전송하는 방법scp
  • 인터넷에서 파일 다운로드 방법
  • VSCode를 VP에서 사용하는 방법
  • 저는 주로 Digital Ocean을 사용하여 위탁 관리 수요를 만족시키기 때문에 Digital Ocean에 가상 개인 서버에 설치하고 연결하는 방법을 배울 것입니다.즉, AWS, Azure 등을 사용하든 모든 분야에 적용되는 개념입니다. Digital Ocean에서 VPS("Droplet"이라고도 함)를 처음 만들면 암호나 SSH 키를 사용하여 기기에 연결할 것인지 묻습니다.나는 거의 항상 SSH 키를 통해 연결하기 때문에 먼저 로컬 컴퓨터에서 이 키를 만드는 방법을 배워야 한다.VPS에 연결하려면 다음 절차를 따르십시오.
  • 사용자가 로컬 컴퓨터에서 개인용/공용 SSH 키 쌍 만들기
  • 사용자가 호스트를 설정할 때 해당 호스트 공급업체의 SSH 필드에 공개 키를 입력합니다
  • 사용자가 SSH를 통해 호스트에 연결하려고 할 때 SSH 도구는 VPS에 저장된 공개 키를 사용하여 로컬 컴퓨터~/.ssh 디렉터리에 저장된 개인 키/공개 키 쌍을 확인합니다.
  • 키가 유효하면 사용자는 현재 원격으로 VPS에 액세스할 수 있으며 IP 주소는 VPS의 알려진 호스트로 저장됩니다.
  • 따라서 첫 번째 단계는 공개 키/개인 키 쌍을 만들어야 합니다.우리는 OpenSSH 도구를 사용하여 Mac/Linux에서 이 점을 실현할 수 있다.터미널에서 다음 명령을 입력합니다.
    ssh-keygen
    
    키를 어느 디렉터리에 저장할지 물어봅니다.작업하려면 ~/.ssh 폴더에 넣어야 하지만 사용자 정의 이름을 지정할 수 있습니다.명령이 암호를 입력하라고 요구할 때, Enter 키를 두 번 누르기만 하면 내용을 입력하지 않습니다. 저희는 개인용 컴퓨터를 사용하기 때문에 암호 보호 키가 필요하지 않습니다.나의 새 열쇠는 /home/zach/.ssh/id_digitalocean_rsa 로 저장된다.
    이 키의 공용 버전을 인쇄하고 복사해야 합니다.이 예제에서는 명령을 입력합니다.
    cat ~/.ssh/id_digitalocean_rsa.pub
    
    마지막에 추가했습니다.pub.키 쌍을 만들 때 항상 .pub 버전이 있습니다.이 파일의 내용을 복사한 후 숙주 공급업체의 SSH 키 상자에 붙여넣습니다.디지털 바다에서 나는 그것을 여기에 붙일 것이다.

    완료되면 가상 머신을 생성할 수 있습니다.이제 새 가상 시스템의 IP 주소를 찾아 터미널에 다음 명령을 입력합니다.
    ssh -p 22 [email protected]
    
    이렇게 하면 VPS에 성공적으로 로그인할 수 있습니다.

    ssh 프록시에 키 영구 추가


    이것은 Linux에서는 일반적으로 문제가 되지 않지만, Mac에서는 기본 설정을 변경해야 합니다.기본적으로 id_rsa 이 아닌 키는 ssh 프록시 유틸리티에 추가되지 않고 Mac 키 체인에 추가되지 않습니다.이것은 가상 시스템에 로그인할 때마다 ssh 키를 추가해야 한다는 것을 의미합니다.예를 들어 나는 digital-ocean라는 키를 가지고 있는데, 나의 디지털 해양 물방울에 로그인하는 데 쓰인다.
    # Loads necessary environment variables
    eval `ssh-agent -s`
    
    # Adds ssh key
    ssh-add -K ~/.ssh/digital-ocean
    
    # Login
    ssh -p 22 root@<some-ip-address>
    
    Mac에 로그인할 때마다 이렇게 하지 않도록 다음 항목이 있도록 수정해야 합니다~/.ssh/config.
    Host *
      UseKeychain yes
      AddKeysToAgent yes
      IdentityFile ~/.ssh/id_rsa
      IdentityFile ~/.ssh/digital-ocean
    
    위에서'모든'을 포함하는 호스트 (github.com 같은 도메인으로 바꿀 수 있음) 를 지정하고, 에이전트에게 키 체인을 사용하고, 키를 추가하고, 로그인 이름에 열거된 두 개의 신분 파일을 사용하라고 알려 줍니다.

    로컬 컴퓨터에서 원격 컴퓨터로


    다음은 원격 컴퓨터와 로컬 컴퓨터 사이에서 파일을 전송하는 방법을 보여 주고 싶습니다.이를 위해 우리는 scp 유틸리티를 사용합니다.
    만약 내가 sample-file.txt를 가지고 있다면, 나는 그것을 원격 기계에 업로드하는 방식은 다음과 같다.
    scp -r sample-file.txt [email protected]:~/
    
    이것은 sample-file.txt 사용자를 사용하여 root 파일을 업로드하고 이 파일을 내 원격 기기의 홈 디렉터리 ~/ 에 저장합니다.IP 주소 뒤에 사칭 : 을 추가하면 원격 기기에 어떤 경로든 지정할 수 있습니다.

    원격 컴퓨터에서 로컬 컴퓨터로


    원격 컴퓨터에서 로컬 컴퓨터로 동일한 파일을 다운로드하려면 다음 명령을 실행하십시오.
    scp -r [email protected]:~/sample-file.txt ~/Downloads
    
    이것은 같은 견본 파일을 로컬 컴퓨터의 ~/Downloads 폴더에 넣을 것이다.

    wget을 사용하여 소프트웨어 패키지를 원격 기기로 다운로드


    때때로 인터넷에서 VPS로 패키지를 다운로드해야 합니다.GUI가 없으므로 명령행을 사용해야 합니다.예를 들어 어떤 이유로든 구글 사진을 내 부회장에게 다운로드하고 싶다.
    이것은 내가 찍은 아름다운 골프 사진이다 - https://raw.githubusercontent.com/zachgoll/example-web-assets/main/golf-image.jpg
    다음 명령을 사용하여 VPS로 다운로드할 수 있습니다.
    wget -O my-custom-picture.jpg https://raw.githubusercontent.com/zachgoll/example-web-assets/main/golf-image.jpg
    
    이것은 사진을 다운로드하여 my-custom-picture.jpg 명령을 실행하는 모든 디렉터리에 저장합니다.

    원격 시스템에서 VSCode 사용


    물론 VPS의 모든 개발 수요를 충족시키기 위해Vim 텍스트 편집기를 사용할 수 있지만, VSCode와 같은 기능이 풍부한 텍스트 편집기를 가지고 있으면 좋습니다.rmate 명령의 도움으로 VPS의 파일에 VSCode를 사용할 수 있습니다.이를 위해 VSCode를 열고 Remote VSCode라는 확장자를 다운로드합니다.다운로드한 후 ctrl-shift+P를 입력하여 설정을 열고 "> 기본 설정: 사용자 설정 열기"를 입력하십시오.아래로 스크롤하여 Extensions(확장) 드롭다운 목록을 찾은 다음 Remote VSCode(원격 VSCode)를 선택합니다.설정에서 다음이 필요합니다.
    Remote Host: 127.0.0.1
    Remote Port: 52698
    Remote Onstartup: True (will be a checkbox)
    
    이제 ctrl-shift P를 다시 입력하고 "> 원격: 서버 시작"을 입력하십시오.원격 서버가 시작됩니다.이제 터미널에서 다음 명령을 입력하여 VPS에 연결합니다.
    ssh -R 52698:127.0.0.1:52698 [email protected]
    
    분명히 IP 주소를 자신의 IP 주소로 대체할 것입니다.그런 다음 VPS에 유틸리티rmate를 설치합니다.
    sudo wget -O /usr/local/bin/rmate https://raw.github.com/aurora/rmate/master/rmate
    sudo chmod a+x /usr/local/bin/rmate
    
    이제 VPS에서 다음 명령을 실행하여 VSCode를 사용하여 파일을 편집할 수 있습니다!
    rmate sample-file.txt
    

    좋은 웹페이지 즐겨찾기