Computer >> 컴퓨터 >  >> 스마트폰 >> Linux

항상 비밀번호를 입력하지 않고 원격 서버에 SSH하는 방법

이 개요에서는 원격 서버에 ssh하고 암호를 입력하지 않고 연결하는 방법을 설명합니다.

내 Linux 서버에 원격으로 SSH해야 하는 경우가 많고 로그인할 때마다 너무 많은 비밀번호를 기억하고 입력해야 하는 것이 고통스럽습니다. 최근에 입력하지 않고 내 서버에 SSH로 연결할 수 있는 깔끔한 방법을 발견했습니다. 암호에. 또한 OpenSSH를 사용하면 원격으로 명령을 실행할 수 있으며 암호를 입력할 필요가 없으므로 일부 자동화된 작업을 원격으로 실행할 수 있습니다. 다시 말하지만 이것은 매우 도움이 될 수 있습니다. 냉소주의자에게 이 방법은 매우 안전합니다. 사실, 제 생각에는 아마도 비밀번호를 입력하는 것보다 더 안전할 것입니다. 원격 서버에 대한 암호 없는 연결 설정을 시작하겠습니다. 이 프로세스는 Linux 또는 UNIX 시스템에서만 작동합니다. 프로세스 자체는 매우 간단합니다.

첫 번째 단계는 서버에 대한 보안 인증을 위해 공개 키를 만드는 것입니다. Linux 데스크톱에서 셸 터미널을 시작하고 다음 명령을 실행합니다.

# ssh-keygen -t rsa
공개/비공개 rsa 키 쌍 생성.
키를 저장할 파일 입력(/home/calvin/.ssh/id_rsa):
암호 입력(암호가 없는 경우 비어 있음) ):
동일한 암호를 다시 입력하십시오:
귀하의 ID는 /home/calvin/.ssh/id_rsa에 저장되었습니다.
귀하의 공개 키는 /home/calvin/.ssh/에 저장되었습니다. id_rsa.pub.

이 단계는 공개 키를 생성하고 /home/calvin/.ssh/id_rsa.pub 파일에 저장합니다. . 키를 쓸 파일을 묻는 메시지가 표시되면 Enter 키를 눌러 제안된 옵션을 선택합니다. 마찬가지로 암호를 입력하라는 메시지가 표시되면 Enter 키를 두 번 누르십시오. 이 파일은 홈 디렉토리의 .ssh에 저장됩니다. SSH 서버의 모든 구성 파일이 들어 있는 폴더입니다. 따라서 다음으로 이 파일을 암호 없이 SSH로 연결하려는 서버에 복사해야 합니다.

# scp ~/.ssh/id_rsa.pub 사용자 이름@remoteserver.com:/home/username/

username의 두 인스턴스 모두 바꾸기 원격 서버 및 remoteserver.com에 로그온하는 데 사용하는 사용자 이름으로 위의 명령에서 원격 서버의 호스트 이름 또는 IP 주소로 이제 해당 서버에 SSH로 연결하고 데스크톱의 공개 키를 서버의 SSH 구성에 추가합니다.

# ssh 사용자 이름@remoteserver.com
# 고양이 ~/id_rsa.pub>> ~/.ssh/authorized_keys2

다음으로 ~/.ssh/authorized_keys2 파일의 권한을 설정해야 합니다. 정확하게:

# chmod 644 ~/.ssh/authorized_keys2

이것이 항상 필요한 것은 아니지만 권한 문제로 인해 여러 번 문제가 발생했습니다. 게다가 권한을 올바르게 설정하는 것도 나쁘지 않습니다. 이제 완료되었습니다. 원격 서버에 대한 SSH 연결을 종료하고 다시 ssh하십시오. 이제 비밀번호를 입력하라는 메시지가 표시되지 않습니다.

이제 원격 서버에서 멋진 일을 많이 할 수 있습니다. 예를 들어 다음 명령을 실행합니다.

# ssh [email protected] “업타임; df -h”

이 명령은 암호를 묻지 않고 원격 서버의 원하는 출력을 로컬 셸에서 직접 제공해야 합니다. 암호를 입력할 필요 없이 원격 서버에서 파일을 복사하거나 원격 서버에서 파일을 복사할 수도 있습니다. 즉, 간단한 셸 스크립트를 사용하여 매일 원격 서버에서 로컬 데스크톱으로 매일 백업을 다운로드하는 것과 같은 작업을 수행할 수 있습니다. 이것은 상당히 강력한 도구입니다. 주의해서 사용하십시오.