개인 데비안 저장소에 대한 액세스를 제한하고 비 대화식으로 인증 할 수있는 방법을 찾고있었습니다 (예 : 스크립트 사용)
실제로 데비안 관리 사이트 에서 찾은 것이지만 가장 안전한 방법은 ssh 및 공개 / 개인 키를 사용 하는 가장 유용한 기사 입니다. 잘 작동하지만 성공적으로 인증하려면 각 호스트의 공개 키가 remote certified_keys 파일 내에 있어야합니다. ssh : //에 암호를 제공하는 것에 대해 아무 말도하지 않지만 가능해야한다고 생각합니다.
다른 대안 (예 : ftp)을 사용해 보셨습니까?
미리 감사드립니다
답변
항상 apt-get수동으로 서버에서 실행 하는 경우 ( apt-get크론에서 자동 명령을 실행 하지 않음 ) ssh 에이전트 전달 사용을 고려할 수 있습니다 . 이렇게하면 관리하는 서버 당 하나의 공개 / 개인 키 쌍을 관리 할 필요가 없으며 모든 서버에 개인 키를 두는 것보다 안전합니다.
초기 구성
-관리하려는 서버에 연결하고 다음과 같이 추가하십시오 /etc/apt/sources.list(이 예에서는 서버가 manager계정 에 연결되기를 원한다고 가정 ).
    deb ssh://manager@my.repository.org/path other stuff
- 
johndoe예를 들어 로그인 을 사용하여 자신의 컴퓨터에 개인 / 공개 키 쌍을 만듭니다 (컴퓨터가 데비안에서 실행되는 경우 : 그렇지 않은 경우 관리 전용 데비안 서버에서이 작업을 수행 할 수 있음).ssh-keygen - 강력한 키 프레이즈로 보호되는지 확인하십시오
 - 
다음 위치에서 공개 키를 저장소 서버에 복사하십시오
/home/manager/.ssh/authorized_keys.ssh-copy-id manager@my.repository.org 
관리 세션 당 한 번
- 
다음을 입력하여 머신에서 ssh 에이전트를 시작하십시오.
eval `ssh-agent` - 
에이전트에 키를 추가하십시오 (암호가 필요함).
ssh-add 
서버 관리
- 
를 사용하여 관리하려는 서버에 연결합니다
ssh -A(-A에이전트 전달 활성화).ssh -A some.server.org - 
루트로 전환하십시오 (사용
sudo하려면 에이전트 전달 을 구성해야합니다./etc/sudoers그렇지 않으면sudo에이전트 전달을 중단 하십시오 ).su - 
이제 에이전트 전달 덕분에 비밀번호를 다시 입력하지 않고 ssh를 사용하여 저장소의 관리자 계정에 연결할 수 있습니다. 따라서
apt-get제대로 작동해야합니다.apt-get udate 
관리 세션 종료
- 
서버 관리가 끝나면 에이전트에서 키를 제거하십시오.
ssh-add -D 
장점
- 초기 구성이 많이 필요하지 않습니다
 - 하나의 개인 키만 필요
 - 개인 키는 강력한 암호로 보호됩니다
 - 누군가 서버 중 하나에 대한 루트 액세스 권한을 얻는 경우 리포지토리 서버에 즉시 액세스 할 수 없습니다.
- 해커가 참을성 있고 자격이 있다면 에이전트 전달을 사용하여 서버에 연결할 때까지 기다릴 수 있으며, 저장소 서버에 액세스하기 위해 전달 메커니즘을 가로 챌 수 있습니다.
 - 이를 방지 
ssh-ask하기 위해 키를 사용하려는 모든 시도를 수락 / 거부하기 위해 사용할 수 있습니다. - 어떤 경우, 해커는 것 없는 그는 단지하기 위해 전달 메커니즘을 납치 할 수있을 것입니다 : 개인 키 자체에 액세스 사용 키를, 만 시간 동안 해당 서버에 연결되어 있습니다.
 
 
답변
이를 수행하는 한 가지 방법은 특정 IP 세트가 저장소에 액세스하도록 허용하는 것입니다. 이것은 LAN 및 VPN에 매우 효과적입니다.
간단하고 효율적입니다.
답변
ssh + 공개 / 개인 키 솔루션은 그렇게 나쁘지 않습니다.
- 클라이언트 시스템에서 루트로 로그인
 - 을 입력 
ssh-keygen한 다음ssh-copy-id your_login@your.repository.org - 
다음
/etc/apt/sources.list과 같은 것을 편집 하고 추가하십시오 :deb ssh://your_login@your.repository.org/path other stuff 
물론, 각 서버의 공개 키를 서버의 ~/.ssh/authorized_keys파일에 넣어야 하지만 그렇게 복잡하지는 않으며 (위 참조) 특정 시간에 허용하거나 허용하지 않는 서버를 제어 할 수 있습니다 (키를 제거 할 수 있음) 어떤 시간 authorized_keys).
답변
로그인 / 암호 (기본 인증)로 보안 된 저장소에 https 액세스를 설정할 수 있습니다. 문제는 일반 텍스트 로그인 / 암호를 입력해야한다는 것입니다 /etc/apt/sources.list(참고 : 대신 로그인 / 암호를 입력 할 수 있는 패치 가 있습니다 /root/.netrc).
답변
질문의 링크는 여러 가지 방법을 보여줍니다. 2 번, https + 기본 인증을 원합니다.