윈도우 scp 비밀번호 자동입력 - windou scp bimilbeonho jadong-iblyeog

윈도우에서 powershell을 이용해 scp 명령으로 자료를 받아오는 스크립트를 만들어보려는 도중 자동으로 비밀번호를 인증시켜 작업 스케줄러에 걸어놓을 수 있는 방법을 찾던 도중 ssh-keygen 을 통해 작업이 가능함을 알게되었습니다.

ssh-keygen 설정에 대하여 알아보겠습니다.

SSH Key란?


서버에 접속할 때 비밀번호 대신 key를 제출하는 방식입니다.

보통 비밀번호 보다 높은 수준의 보안을 필요로 하거나 로그인 없이 자동으로 서버에 접속할 때 사용하게 됩니다.

SSH Key 개념에서 공개키와 비밀키에 대한 개념의 이해가 중요합니다.

SSH Key는 공개키(Public Key)와 비밀키(Private Key)로 이루어 지며 비밀키는 로컬머신에 위치하고 공개키는 서버에 위치합니다. 암호를 걸 때와 풀 때 사용하는 키가 다르기 때문에 비대칭 암호방식이라고 부릅니다.

공개키는 평문을 암호화한다면 비밀키는 암호문을 다시 평문으로 변환합니다.

예를들어 집에서 회사 서버에 접속한다고 가정해보겠습니다.

집에서 공개키/비밀키를 생성해둡니다. 그리고 공개키를 서버에 보냅니다.

이 때 해커가 네트워크상에서 공개키를 낚아챕니다.

서버에 공개키를 보낸 후 집에서 비밀키로 암호화하여 서버에 정보를 전달합니다.

이 때 해커가 조금전에 낚아챈 공개키를 사용하여 집에서 회사서버로 보낸 명령을 복호화합니다.

집에서 회사서버로 보낸 정보를 강탈하는데 성공합니다. (어떤 정보를 요청했는지 알게 됩니다. 클라이언트->서버)

서버에서 집 PC의 요청을 받아 정보를 가공하여 집 PC로 전달합니다.

집에서 비밀키로 서버가 보낸 정보를 해석합니다.

이 때도 해커가 서버에서 집으로 보낸 정보를 낚아챕니다.

하지만 비밀키가 없기 때문에 복호화 할 수 없습니다.(비밀키는 집PC에만 있고 네트워크상으로 전달하지 않았기 때문)

결국 해커는 클라이언트(집)가 서버(회사)로 요청한 정보가 무엇인지는 알아낼 수 있지만 서버가 클라이언트로 보낸 응답에 대해서는 해석할 수 없게 됩니다.

SSH Key 생성하기


1. powershell을 실행합니다. (실행 -> powershell)

윈도우 scp 비밀번호 자동입력 - windou scp bimilbeonho jadong-iblyeog

2. ssh-keygen으로 키를 생성합니다.

윈도우 scp 비밀번호 자동입력 - windou scp bimilbeonho jadong-iblyeog

1번은 key를 저장할 위치를 입력합니다. (그냥 Enter 시 Default 폴더에 저장됨. 위에선 c:\users\wlsgh/.ssh/id_rsa 가 됩니다.)

2번은 키를 사용할 때 필요한 비밀번호를 입력합니다. (비밀번호 없이 그냥 로그인하려면 그냥 Enter)

3번은 비밀번호 확인 입니다.

키를 사용할 때 비밀번호를 설정하는 이유는 혹시라도 비밀키가 유출되었을 때 비밀번호를 입력해야 사용할 수 있기 때문에 보안상 더 안전합니다.

3. 키 파일이 생성되었는지 확인합니다.

윈도우 scp 비밀번호 자동입력 - windou scp bimilbeonho jadong-iblyeog

SSH Key 서버에 업로드


1. scp 로 public 키 파일 전송

윈도우 scp 비밀번호 자동입력 - windou scp bimilbeonho jadong-iblyeog

2. 해당 서버에 잘 전송되었는지 확인

윈도우 scp 비밀번호 자동입력 - windou scp bimilbeonho jadong-iblyeog

SSH Key 파일 등록


서버에서 작업합니다.

윈도우 scp 비밀번호 자동입력 - windou scp bimilbeonho jadong-iblyeog

이후 로컬머신에서 서버로 SSH 접속을 시도해봅니다.

윈도우 scp 비밀번호 자동입력 - windou scp bimilbeonho jadong-iblyeog

비밀번호 입력란 없이 바로 접속되는 것을 확인할 수 있습니다.

(만약 위 키생성 시 비밀키 비밀번호 입력을 했다면 해당 비밀번호를 입력해야 접속이 됩니다)

윈도우 scp 비밀번호 자동입력 - windou scp bimilbeonho jadong-iblyeog

SSH는 컴퓨터를 원격으로 관리해야 할 때 생명의 은인이지만 파일을 업로드하고 다운로드 할 수도 있다는 것을 알고 계셨습니까? SSH 키를 사용하면 암호를 입력하지 않아도되고이를 스크립트에 사용할 수 있습니다!

이 프로세스는 SSH 액세스를 위해 적절하게 구성된 경우 Linux 및 Mac OS에서 작동합니다. Windows를 사용하는 경우 다음을 수행 할 수 있습니다. Cygwin을 사용하여 Linux와 유사한 기능을 얻으십시오. , 약간 조정하면 SSH도 실행됩니다. .

SSH를 통해 파일 복사

보안 복사는 정말 유용한 명령이며 사용하기도 정말 쉽습니다. 명령의 기본 형식은 다음과 같습니다.

scp [options] 원본 _ 파일 대상 _ 파일

가장 중요한 것은 원격 부품을 포맷하는 방법입니다. 원격 파일의 주소를 지정할 때 다음과 같은 방식으로 수행해야합니다.

user @ server : path / to / file

서버는 URL 또는 IP 주소 일 수 있습니다. 그 다음에는 콜론과 해당 파일 또는 폴더의 경로가 표시됩니다. 예를 살펴 보겠습니다.

scp –P 40050 Desktop / url.txt [email protected] : ~ / Desktop / url.txt

이 명령에는 [-P] 플래그가 있습니다 (대문자 P라는 점에 유의하십시오). 이렇게하면 기본값 인 22 대신 포트 번호를 지정할 수 있습니다. 시스템을 구성한 방식 때문에 필요합니다.

다음으로, 제 원본 파일은“Desktop”이라는 디렉토리 안에있는“url.txt”입니다. 대상 파일은 "/user/yatri/Desktop/url.txt"와 동일한 "~ / Desktop / url.txt"에 있습니다. 이 명령은 원격 컴퓨터“192.168.1.50”에서 사용자“yatri”에 의해 실행됩니다.

윈도우 scp 비밀번호 자동입력 - windou scp bimilbeonho jadong-iblyeog

반대로해야한다면? 마찬가지로 원격 서버에서 파일을 복사 할 수 있습니다.

윈도우 scp 비밀번호 자동입력 - windou scp bimilbeonho jadong-iblyeog

여기에서는 원격 컴퓨터의 "~ / Desktop /"폴더에서 내 컴퓨터의 "Desktop"폴더로 파일을 복사했습니다.

전체 디렉토리를 복사하려면 [-r] 플래그 (소문자 r)를 사용해야합니다.

윈도우 scp 비밀번호 자동입력 - windou scp bimilbeonho jadong-iblyeog

플래그를 결합 할 수도 있습니다. 대신에

scp –P –r…

당신은 할 수 있습니다

SCP-하지만 ...

여기서 가장 어려운 부분은 탭 완성이 항상 작동하는 것은 아니라는 것입니다. 따라서 SSH 세션이 실행되는 다른 터미널을 사용하여 물건을 넣을 위치를 파악하는 것이 좋습니다.

암호가없는 SSH 및 SCP

안전한 사본이 좋습니다. 스크립트에 넣고 원격 컴퓨터에 백업하도록 할 수 있습니다. 문제는 항상 비밀번호를 입력하지 않을 수 있다는 것입니다. 솔직히 말해서 항상 액세스 할 수있는 원격 컴퓨터에 비밀번호를 입력하는 것은 정말 큰 고통입니다.

글쎄, 우리는 키 파일을 사용하여 암호를 사용할 수 있습니다. 컴퓨터가 두 개의 키 파일을 생성하도록 할 수 있습니다. 하나는 원격 서버에있는 공개 파일이고 다른 하나는 귀하의 컴퓨터에 있고 보안이 필요한 개인 파일입니다.이 파일은 암호 대신 사용됩니다. 꽤 편리 하죠?

컴퓨터에서 다음 명령을 입력하십시오.

ssh-keygen –t rsa

그러면 두 개의 키가 생성되어 다음과 같이 입력됩니다.

~ / .ssh /

개인 키의 경우 "id_rsa", 공개 키의 경우 "id_rsa.pub"라는 이름을 사용합니다.

윈도우 scp 비밀번호 자동입력 - windou scp bimilbeonho jadong-iblyeog

명령을 입력하면 키를 저장할 위치를 묻는 메시지가 표시됩니다. Enter 키를 눌러 위에서 언급 한 기본값을 사용할 수 있습니다.

다음으로 암호를 입력하라는 메시지가 표시됩니다. 이 항목을 비워 두려면 Enter 키를 누른 다음 확인을 요청하면 다시 수행하십시오. 다음 단계는 공개 키 파일을 원격 컴퓨터에 복사하는 것입니다. scp를 사용하여 다음을 수행 할 수 있습니다.

윈도우 scp 비밀번호 자동입력 - windou scp bimilbeonho jadong-iblyeog

공개 키의 대상은 다음 파일의 원격 서버에 있습니다.

~ / .ssh / authorized_keys2

~ / .ssh / known_hosts 파일과 마찬가지로 후속 공개 키를이 파일에 추가 할 수 있습니다. 즉,이 서버에서 계정에 대한 다른 공개 키를 추가하려는 경우 두 번째 id_rsa.pub 파일의 내용을 기존 authorized_keys2 파일의 새 줄에 복사해야합니다.

보안 고려 사항

이것은 비밀번호보다 덜 안전하지 않나요?

실제로는 그렇지 않습니다. 생성 된 개인 키는 사용중인 컴퓨터에 저장되며 확인을 위해 전송되지도 않고 전송되지도 않습니다. 이 개인 키는 해당 공개 키와 만 일치하며 개인 키가있는 컴퓨터에서 연결을 시작해야합니다. RSA는 매우 안전하며 기본적으로 2048 비트 길이를 사용합니다.

사실 이론상 비밀번호를 사용하는 것과 매우 유사합니다. 누군가가 귀하의 암호를 알고 있으면 보안이 창 밖으로 나갑니다. 누군가 귀하의 개인 키 파일을 가지고있는 경우 일치하는 공개 키가있는 모든 컴퓨터의 보안이 상실되지만이를 얻으려면 귀하의 컴퓨터에 액세스해야합니다.

더 안전 할 수 있습니까?

암호를 키 파일과 결합 할 수 있습니다. 위의 단계를 따르되 강력한 암호를 입력하십시오. 이제 SSH를 통해 연결하거나 SCP를 사용할 때 적절한 개인 키 파일이 필요합니다. 만큼 잘 적절한 암호.

암호를 한 번 입력하면 세션을 종료 할 때까지 암호를 다시 요청하지 않습니다. 즉, SSH / SCP를 처음 사용할 때 비밀번호를 입력해야하지만 이후의 모든 작업에는 비밀번호가 필요하지 않습니다. 원격 컴퓨터가 아닌 컴퓨터에서 로그 아웃하거나 터미널 창을 닫은 다음 다시 입력해야합니다. 이렇게하면 보안이 실제로 희생되지는 않지만 항상 암호에 대해 괴롭힘을 당하지 않습니다.

윈도우 scp 비밀번호 자동입력 - windou scp bimilbeonho jadong-iblyeog

공개 / 개인 키 쌍을 재사용 할 수 있습니까?

이것은 정말 나쁜 생각입니다. 누군가가 귀하의 암호를 발견하고 귀하가 모든 계정에 동일한 암호를 사용하는 경우 이제 해당 사용자가 해당 계정 모두에 액세스 할 수 있습니다. 마찬가지로 개인 키 파일도 극비이며 중요합니다. (자세한 내용은 이메일 비밀번호가 유출 된 후 복구하는 방법 )

연결하려는 모든 컴퓨터와 계정에 대해 새 키 쌍을 만드는 것이 가장 좋습니다. 이렇게하면 개인 키 중 하나가 어떻게 든 잡히면 하나의 원격 컴퓨터에서 하나의 계정 만 손상됩니다.

또한 모든 개인 키가 동일한 위치에 저장된다는 점에 유의해야합니다. 컴퓨터의 ~ / .ssh /에 TrueCrypt 사용 안전하고 암호화 된 컨테이너를 생성 한 다음 심볼릭 링크 생성 ~ / .ssh / 디렉토리에 있습니다. 내가하는 일에 따라 슈퍼 편집증 내 마음을 편안하게하는 매우 안전한 방법.


스크립트에서 SCP를 사용한 적이 있습니까? 암호 대신 키 파일을 사용합니까? 댓글에서 다른 독자와 자신의 전문 지식을 공유하십시오!

How To Copy Files Using SSH

SSH Login Without Password

SSH Login Without Password

Login SSH Without Using Password In 5 Minutes

Windows 10 Native SSH Client Connect Without Password

How To Transfer Files Using SSH

Linux/Mac Tutorial: SSH Key-Based Authentication - How To SSH Without A Password

SSH Into Your Pi WITHOUT A Password With SSH Keys! | 4K TUTORIAL

How To: Transfer Files Over SSH

Enable Password Less SSH Between Linux Servers

Secure Remote SSH To A Raspberry Pi Without Passwords

Configure SSH Password Less Login Authentication Using SSH Keygen On Linux

Linux Tutorials: How To Setup Passwordless SSH & Disable Password SSH

PowerShell Remoting Over SSH