2011-03-11 4 views
1

매개 변수로 암호를 전달하지 :FTP를 통해 디렉토리를 다운로드 wget을 사용하지만이 서버에 SSH 액세스 할 수없는 때, 나는 일반적으로 다음과 같이 FTP를 통해 물건을 다운로드

wget -r ftp://user:[email protected]/path/to/dir 

은 어떻게 암호를보다 안전하게 유지합니까? 암호가 명령에 포함 된 것을 좋아하지 않지만 다음과 같이 시도 할 때 :

wget -r ftp://[email protected]/path/to/dir 

이 작동하지 않습니다. 그것은 나에게 "잘못된 로그인"을 제공합니다.

+0

무엇으로부터 안전합니까? 방지하려는 공격 시나리오는 무엇입니까? – yan

+0

@yan, 명령에서 암호를 전달하는 것은 안전하지 않습니다. 그것은 내 bash 기록, 내 스크립트 등에 나타납니다. 플러스, 내가 그것을 바꾸고 싶다면, 한 곳에서 그것을 갖고 싶습니다. – mattalxndr

+0

ftp를 사용하는 것이 "안전하지 않은"경우, "보안"이 의미하는 것을 정의하지 않습니다. 매번 입력하고 싶습니까? .bash_history 캐싱을 두려워합니까? 공유 된 컴퓨터에 있습니까? – yan

답변

2

당신과 같이 ~/.wgetrc에 자격 증명을 넣을 수 있습니다 : 초기화 할 때

하는,를 Wget이를 찾습니다 :

ftp_user = user 
ftp_password = pass 

를 필요에 따라,이 구성 파일 use a different location로도 가능 기본적으로 전역 시작 파일 인/usr/local/etc/wgetrc (또는 Wget이 설치되어 있지 않은 경우/usr/local이 아닌 다른 접두어)를 읽고 거기에서 명령을 읽습니다.

그러면 사용자의 파일을 찾습니다. 환경 변수 WGETRC가 설정되면 Wget은 해당 파일을로드하려고 시도합니다. 실패하면 더 이상 시도하지 않습니다.

WGETRC가 설정되지 않은 경우 Wget은 $ HOME/.wgetrc를로드하려고 시도합니다.

wget -r --ask-password ftp://[email protected]/path/to/dir 

ask_password = on/off은 또한 ~/.wgetrc에 선언 할 수 있습니다

관련 문제