암호를 입력하지 않고 SSH를 통해 파일을 원격 복사하는 방법
SSH는 컴퓨터를 원격으로 관리해야 할 때 생명의 은인이지만 파일을 업로드하고 다운로드 할 수 있다는 것도 알고 있습니까? SSH 키를 사용하면 암호를 입력하지 않아도되고 스크립트에이 암호를 사용할 수 있습니다.!
이 프로세스는 Linux 및 Mac OS에서 작동하며 SSH 액세스를 위해 올바르게 구성되어 있어야합니다. Windows를 사용하는 경우 Cygwin을 사용하여 Linux와 유사한 기능을 사용할 수 있으며 약간의 조정을 통해 SSH도 실행됩니다.
SSH를 통한 파일 복사
보안 복사는 정말 유용한 명령이며 사용하기 쉽습니다. 명령의 기본 형식은 다음과 같습니다.
scp [옵션] original_file destination_file
가장 중요한 것은 리모트 파트를 포맷하는 방법입니다. 원격 파일의 주소를 지정할 때는 다음과 같은 방식으로 수행해야합니다.
user @ server : 경로 / to / file
서버는 URL 또는 IP 주소 일 수 있습니다. 콜론 다음에는 문제가되는 파일이나 폴더의 경로가옵니다. 예제를 보자..
scp -P 40050 Desktop / url.txt [email protected] : ~ / Desktop / url.txt
이 명령은 [-P] 플래그 (대문자 P 임)를 특징으로합니다. 이렇게하면 기본값 22 대신 포트 번호를 지정할 수 있습니다. 이는 시스템 구성 방식 때문에 나에게 필요합니다..
다음으로, 내 원본 파일은 "desktop"이라는 디렉토리 안에있는 "url.txt"입니다. 대상 파일은 "~ / Desktop / url.txt"에 있으며 "/user/yatri/Desktop/url.txt"와 같습니다. 이 명령은 원격 컴퓨터 "192.168.1.50"의 사용자 "yatri"에 의해 실행됩니다..
당신이 그 반대 일을해야한다면? 마찬가지로 원격 서버에서 파일을 복사 할 수 있습니다.
여기에 원격 컴퓨터의 "~ / Desktop /"폴더에서 내 컴퓨터의 "Desktop"폴더로 파일을 복사했습니다..
전체 디렉토리를 복사하려면 [-r] 플래그를 사용해야합니다 (소문자 r임을 유의하십시오).
플래그를 결합 할 수도 있습니다. 대신에
scp -P -r ...
너는 할 수있어.
scp - Pr ...
여기에서 가장 어려운 부분은 탭 완성이 항상 작동하지 않는다는 것입니다. 따라서 SSH 세션이있는 다른 터미널을 실행하면 어디에서 물건을 넣을 지 알 수 있습니다..
암호가없는 SSH 및 SCP
안전한 사본은 좋습니다. 스크립트에 넣고 원격 컴퓨터에 백업 할 수 있습니다. 문제는 당신이 항상 비밀 번호를 입력 할 수 없을 수도 있습니다. 그리고 솔직히 말하자면, 원격 컴퓨터에 암호를 입력하는 것은 큰 어려움입니다. 항상 액세스 할 수 있어야합니다..
열쇠 파일을 사용하여 암호를 사용할 수 있습니다. 우리는 컴퓨터가 원격 서버에 속한 공용 파일과 컴퓨터에 있고 보안이 필요한 개인 파일을 생성 할 수 있습니다.이 파일은 암호 대신 사용됩니다. 아주 편리하고, 바로?
컴퓨터에서 다음 명령을 입력하십시오.
ssh-keygen -t rsa
이렇게하면 두 개의 키가 생성되어 다음과 같이됩니다.
~ / .ssh /
개인 키의 이름은 "id_rsa"이고 공개 키는 "id_rsa.pub"입니다..
명령을 입력하면 키를 저장할 위치를 묻는 메시지가 표시됩니다. 위에서 언급 한 기본값을 사용하려면 Enter 키를 누릅니다..
다음으로 암호를 입력하라는 메시지가 나타납니다. 이 입력란을 비워 두려면 Enter 키를 누른 다음 확인을 묻는 메시지가 나타나면 다시 입력하십시오. 다음 단계는 공개 키 파일을 원격 컴퓨터에 복사하는 것입니다. scp를 사용하여 다음을 수행 할 수 있습니다.
공개 키의 대상은 원격 서버의 다음 파일에 있습니다.
~ / .ssh / authorized_keys2
~ / .ssh / known_hosts 파일과 마찬가지로 후속 공개 키를이 파일에 추가 할 수 있습니다. 즉,이 서버에서 다른 공개 키를이 서버에 추가하려면 두 번째 id_rsa.pub 파일의 내용을 기존 authorized_keys2 파일의 새 행으로 복사합니다.
보안 고려 사항
비밀번호보다 안전하지 않습니까??
실제로는 그렇지 않습니다. 생성 된 비공개 키는 사용중인 컴퓨터에 저장되며 절대 전송되지 않으며 확인되지 않습니다. 이 개인 키는 해당 ONE 공개 키와 만 일치하며 개인 키가있는 컴퓨터에서 연결을 시작해야합니다. RSA는 매우 안전하며 기본적으로 2048 비트 길이를 사용합니다..
이론적으로 암호를 사용하는 것과 실제로는 비슷합니다. 누군가가 자신의 암호를 알고 있으면 보안이 창문 밖으로 나옵니다. 다른 사람이 개인 키 파일을 가지고있는 경우 일치하는 음부 키가있는 모든 컴퓨터에서 보안이 손실되지만 컴퓨터에 액세스해야 해당 보안 키를 얻을 수 있습니다.
더 안전하게 할 수 있을까요??
암호를 키 파일과 결합 할 수 있습니다. 위의 단계를 따르되 강력한 암호를 입력하십시오. 이제 SSH를 통해 연결하거나 SCP를 사용할 때 적절한 개인 키 파일이 필요합니다. 만큼 잘 적절한 암호 문구.
암호를 한 번 입력하면 세션을 닫을 때까지 암호를 다시 묻지 않습니다. 즉, SSH / SCP를 처음 사용할 때는 암호를 입력해야하지만 이후의 모든 작업에는 암호가 필요하지 않습니다. 일단 원격지가 아닌 컴퓨터에서 로그 아웃하거나 터미널 창을 닫으면 다시 입력해야합니다. 이런 식으로 보안을 희생하지는 않지만 항상 암호로 괴롭히지 않습니다..
공개 키 / 개인 키 쌍을 다시 사용할 수 있습니까??
이것은 정말 나쁜 생각입니다. 다른 사용자가 귀하의 비밀번호를 발견하고 귀하의 모든 계정에 동일한 비밀번호를 사용하면 이제 모든 사용자는 해당 계정에 액세스 할 수있게됩니다. 마찬가지로, 개인 키 파일은 또한 매우 비밀이며 중요합니다. (자세한 내용은 전자 메일 암호가 손상된 후 복구 방법을 참조하십시오)
연결하려는 모든 컴퓨터와 계정에 대해 새 키 쌍을 만드는 것이 가장 좋습니다. 그렇게하면 개인 키 중 하나가 어떻게 든 잡히면 하나의 원격 컴퓨터에서 하나의 계정 만 공격하게됩니다.
모든 개인 키가 같은 위치에 저장된다는 점도 중요합니다. 컴퓨터의 ~ / .ssh /에서 TrueCrypt를 사용하여 보안 암호화 된 컨테이너를 만든 다음 ~ / .ssh에 심볼릭 링크를 만들 수 있습니다 / 디렉토리. 내가하는 일에 따라, 나는이 초 편집증 슈퍼 보안 방법을 사용하여 내 마음을 편안하게한다..
어떤 스크립트에서 SCP를 사용 했습니까? 암호 대신 키 파일을 사용합니까? 의견에서 다른 독자와 자신의 전문 지식을 공유하십시오.!