동일한 사용자의 FTP 비밀번호 숨기기

동일한 사용자의 FTP 비밀번호 숨기기

가끔 파일을 얻기 위해 ftp에 연결해야 할 때도 있습니다. 나는 이것을 위해 스크립트를 작성했습니다. 문제는 이 사용자가 보편적이라는 것입니다. 모든 작업에서는 로컬 호스트와 원격 시스템에서 이 사용자를 사용합니다. 이를 개인 사용자와 연결하여 스크립트에서 내 비밀번호를 볼 수 있도록 해야 합니다. 이를 방지할 수 있는 방법이 있습니까?

답변1

로그인한 경우에만 스크립트가 실행되는 경우 하드코딩하거나 프롬프트를 표시하는 대신 스크립트를 실행할 때 읽히는 환경 변수에 비밀번호를 세션당 한 번씩 설정할 수 있습니다. 예를 들어:

# log in to your session
[user@host]  export pass=1234abc
[user@host] my-ftp.sh

내보내기 명령 앞에 추가 공간을 기록하십시오. 이는 명령이 쉘 기록에 기록되지 않도록 하는 대부분의 쉘(예: Bash 또는 Zsh)의 옵션입니다. 이렇게 하면 ${pass}공유 호스트의 파일에 비밀번호를 기록하지 않고도 스크립트 내의 환경 변수에서 비밀번호를 읽을 수 있습니다 .

그렇지 않으면 스크립트를 실행할 때마다 암호를 입력하라는 메시지가 표시되지 않는 한 공유 사용자를 안전하게 유지할 수 있는 실제 방법이 없습니다. 공유 사용자로서 모든 것에 비대화형 액세스 권한이 있으므로 동료도 마찬가지입니다. 런타임에 읽을 수 있도록 파일에 비밀번호를 저장할 수 있지만 공유 사용자는 여전히 파일에 액세스해야 하며 기껏해야 보안은 난독화(전혀 보안이 아님)를 통해 달성됩니다.

관련 정보