쉘 스크립트에서 파일을 안전하게 다운로드하는 방법은 무엇입니까?

쉘 스크립트에서 파일을 안전하게 다운로드하는 방법은 무엇입니까?

내 서버에서 패키지를 자동으로 다운로드하고 클라이언트 서버에 설정하기 위해 일부 쉘 스크립트를 작성 중입니다. 스크립트의 어느 시점에서 다운로드 명령은 wget입니다.http://example.com/file/secure_download.tar.gz- 누구든지 이 파일을 스캔하고 다운로드할 수 있으므로 이 민감한 파일을 공용 서버에 사용하지 않는 것이 좋습니다. 그러나 이러한 디렉터리에 대한 인증을 요구할 수 있지만 wget 명령을 사용하여 액세스 자격 증명을 어떻게 전달합니까? 아니면 이것을 달성하는 더 좋은 방법이 있습니까?

답변1

~에서wget 매뉴얼:

'--사용자=사용자'

'--password=비밀번호'

FTP 및 HTTP 파일 검색을 위한 사용자 이름 사용자 및 비밀번호 비밀번호를 지정합니다. 이러한 매개변수는 FTP 연결의 경우 "--ftp-user" 및 "--ftp-password" 옵션을 사용하고 HTTP 연결의 경우 "--http-user" 및 "--http-password" 옵션을 사용하여 재정의할 수 있습니다.

그래서 당신이 찾고 있는 것은 다음과 같습니다:

$ wget --user=n3rve --password='mylittlepony' http://example.com/file/secure_download.tar.gz

가능하다면 귀하와 클라이언트 서버 간에 SSH 키를 생성하고 공유하는 SFTP 서버를 설정하는 것이 좋습니다. 그러면 클라이언트 서버가 SFTP 서버에 안전하게 연결하여 필요한 파일을 추출할 수 있습니다.

wget이는 웹 서버에서 사용하는 것보다 훨씬 더 안전한 방법입니다. 전체 설정에서는 클라이언트에게 공개 키를 제공하도록 요청해야 하며, 공개 키를 파일 id_rsa.pub에 추가하면 .ssh/authorized_keys클라이언트는 다음을 통해 연결됩니다.

$ sftp [email protected] 
[OR]
$ sftp [email protected]

*Ssh 키 쌍을 사용하여 신뢰할 수 있는 네트워크를 생성하므로 비밀번호가 필요하지 않습니다.

관련 정보