2010-04-07 3 views
0

사전 공유 키를 사용할 수없는 서버가 있고 ssh - 모든 인증은 대화식 프롬프트를 통해 이루어집니다.안전한 방식으로 'expect'를 사용하여 로그인/원격 작업을 자동화합니다.

해당 서버의 루트 사용자가 아닌 사용자의 경우 cronat도 비활성화되었습니다.

cron 내 로컬 컴퓨터에서 정기적 인 유지 관리 /보고 작업을 위해 원격 서버에 대해 스크립트를 실행할 수 있기를 바랍니다.

일부는 expect으로 축약되었지만 정확한 시간에 프롬프트에 비밀번호를 넣는 것을 자동화하려면 평문에 저장해야합니다.

비밀번호를 한 번 입력 한 다음 로컬로 (예 : passwd) 스크램블을하고 나면 스크립트에 일반 텍스트 비밀번호를 저장하지 않고 비밀번호를 보호 할 방법이 있습니까?

답변

2

매우 안전하지 않은 봇넷 기반 공격으로 인해 거부 기반 호스트의 유틸리티를 무력화 할 수 있으므로 비밀번호 기반 인증을 유지해야합니다. 하지만 꼭해야만한다면 ...

그런 상황에 처했을 때 스크립트와 별도의 파일에 암호를 넣었을 때 그 암호 파일을 나만 읽을 수있게 만들고 디렉토리를 만드십시오. 나뿐만 아니라 읽을 수있는 (및 실행)입니다. 또한 암호가 인수로 또는 환경 변수로 전달되지 않도록주의해야합니다. 둘 다 간략히 ps으로 snoopable입니다. 패스워드 파일의 이름을 전달하는 것은 괜찮은데 (패스를 보호 할 수 있음), 이름없는 파이프를 통해 패스워드를 전달하는 것도 안전하다.

+0

이 서버의 봇넷에 대해 걱정하지 않습니다. 외부 연결이없는 세그먼트 네트워크에 있습니다. – warren

2

암호 저장은 항상 안전하지 않습니다 (일반 텍스트 암호에 액세스해야하는 경우). 스크립트에는 "인코딩 해제"논리가 있어야합니다. 스크립트에 대한 읽기 액세스 권한을 가진 사용자는 인코딩 된 비밀번호가 저장되는 위치와 암호화 해제 방법을 파악할 수 있습니다.

그것은 당신을위한 판단의 전화입니다. 어느 것을 더 가치있게합니까? 자동화 (시간을 절약하기 위해) 또는 암호 보안?

관련 문제