나는 프록시 세계에서 많은 문제를 일으키는 회사 방화벽 뒤에 있습니다. 제가 찾은 두 가지 주요 접근 방식은 다음과 같습니다.
- Cntlm을 사용하는 데 드는 비용은 명령줄에서 HTTPS 및 외부 SSH 위치에 연결할 수 없다는 것입니다. (Cntlm을 사용하면 PassNTLMv2를 사용하여 사용자 이름과 비밀번호를 해시하고(따라서 일반 텍스트를 방지함)
http://localhost:3128/
프록시로 설정한 다음 "실제" 프록시로 리디렉션할 수 있습니다. 앞서 언급했듯이 이 방법을 사용하여 HTTPS 및 외부 SSH). - 내 사용자 이름과 비밀번호를 일반 텍스트로
http_proxy
변수에 입력하는 것은 다음과 같습니다.내 사용자 이름과 비밀번호를 일반 텍스트로 표시합니다.
물론 보안이 문제가 되지 않는다면 옵션 2를 선택하겠습니다.
나는 몇 가지 해결책을 찾았습니다. .babrunrc
(저는 기본적으로 Cygwin인 Babun을 약간 추가하여 사용합니다. .bashrc
또는 같은 작업을 수행할 수 있습니다 .zshrc
.)
export http_proxy="http://`echo "Y21hbjpwYXNzd29yZA==" | base64 -d`@20.20.20.20:20/"
그래서 내 비밀번호는적어도코딩. 누군가가 내 컴퓨터에 와서 그것을 입력하면 echo $http_proxy
내 비밀번호를 볼 수 있지만 이를 해결할 방법은 없다고 생각합니다.
이 문제를 해결할 다른 방법이 있나요? 아니면 문자열을 인코딩하는 대신 암호화하는 방법이 있을까요? 다른 방법이 없다면 프롬프트를 열 때 비밀번호를 입력해도 괜찮을 것입니다.
답변1
base64를 사용하면 아무 작업도 수행되지 않으며 단지 간단한 변환일 뿐입니다. 암호화된 데이터와 함께 저장된 키로 암호화하는 것도 여전히 단순한 변환일 뿐이므로 쓸모가 없습니다. 누군가가 귀하의 프로필에 접근하는 것이 걱정된다면 프로필에 없는 키로 프로필을 암호화해야 합니다. 즉, 로그인할 때 비밀번호를 입력해야 합니다.
직접 만들지 말고 기존 암호화 메커니즘을 사용하세요.
Linux에서 파일 암호화를 사용하는 경우 다음 명령을 사용하여 홈 디렉터리를 암호화하세요.암호화된 파일 시스템, 또는 Linux의 디스크 암호화 계층(dm-crypt, 명령)을 사용하여 전체 디스크를 암호화하거나 cryptsetup
다음 명령을 사용하여 작은 파일별 암호화 파일 시스템을 생성합니다.환경 파일 시스템. 후자의 경우 encfs 파일 시스템을 마운트한 다음 여기에 저장된 스크립트를 실행하는 스크립트가 있습니다.
Windows에서는 파일을 다음 위치에 넣으세요.진정한 비밀/베라 코드.
또는 비밀번호 관리자를 사용하세요(물론 마스터 비밀번호도 설정하세요). 다음 명령을 사용하여 명령줄에서 Gnome의 비밀번호 관리자(gnome-keyring)를 쿼리할 수 있습니다.secret-tool
유용.해마키링을 탐색 및 수정하고 마스터 비밀번호를 설정할 수 있는 편리한 GUI가 제공됩니다.
secret-tool store --label='Corporate web proxy password' purpose http_proxy location work.example.com
export http_proxy="http://cman:$(secret-tool lookup purpose http_proxy location work.example.com)@192.0.2.3/"
이를 위해서는 일반적으로 Linux에서 기본적으로 사용할 수 있는 D-Bus가 필요하지만(대부분의 최신 데스크탑 환경에서는 필요함) Cygwin에서는 수동으로 활성화해야 합니다(방법은 모르겠습니다).
1 또는 스마트 카드에 저장된 자료와 같은 비밀 자료를 제공합니다.
답변2
해결책을 찾았습니다. openssl enc -aes-128-cbc -a -d
믹스에 추가하세요.그러나 본문에서 언급한 바와 같이수락된 답변, 이 옵션은 그다지 안전하지 않을 수 있습니다.
먼저 여기에 사용자 이름과 비밀번호 조합(또는 이에 상응하는 Base64 인코딩)을 입력하세요.
echo "<put it here>" | openssl enc -aes-128-cbc -a
비밀번호를 두 번 묻는 메시지가 표시됩니다. 이 비밀번호는 http_proxy
설정할 때마다 입력해야 하는 비밀번호입니다.
그런 다음 .babunrc
(또는 어디에 두든)
export http_proxy="http://`echo "<output from above command>" | openssl enc -aes-128-cbc -a -d`@20.20.20.20:20/"
입력이 base64로 인코딩된 경우 다음이 필요합니다.
export http_proxy="http://`echo "<output from above command>" | openssl enc -aes-128-cbc -a -d | base64 -d`@20.20.20.20:20/"
<output from above command>
새로운 줄이 있으면 적용 \n
됩니다.