여러 시스템에 SSH로 연결하고 각 시스템에서 간단한 명령을 실행해야 한다고 가정해 보겠습니다. 문제는 이 작업을 완료하기 위해 비밀번호를 50번 연속으로 입력하고 싶지 않다는 것입니다. 그래서 당분간은 비밀번호 없이 RSA 키를 사용할 것 같아요. 제 질문은 비대화형 스크립트를 실행하기 위해 임시로 개인 키 파일에 비밀번호가 없도록 설정한 다음 ssh-keygen -p
명령을 통해 매우 안전한 비밀번호를 설정하는 것이 표준 관행입니까? 이것을 달성하는 다른 방법이 있습니까?
답변1
내 질문은 비대화형 스크립트를 실행할 목적으로 비밀번호 없이 개인 키 파일을 임시로 설정하는 것이 표준 관행입니까? [...]
습관. 표준 관행은 키 에이전트를 사용하여 비밀번호를 저장하는 것입니다. 키 에이전트를 사용하는 경우 에이전트에 키를 추가할 때 비밀번호를 한 번 입력하면 에이전트는 사용자가 시작한 SSH 연결에 이를 제공합니다.
이에 대한 많은 튜토리얼이 있습니다. 간단히 말해서 이것은 기본 사용법입니다.
# start ssh key agent and set environment variables
eval $(ssh-agent)
# add your private key
ssh-add
간단히 말해서 작동 방식은 다음과 같습니다.
이 명령은 프로그램(예 : 등 ) 이 프로세스를 찾을 수
ssh-agent
있도록 설정해야 하는 일부 환경 변수를 출력합니다 . 이 출력은 실제로 이 명령문의 목적인 변수를 설정하기 위해 실행할 준비가 되어 있습니다 .ssh
scp
rsync
ssh-agent
eval
ssh-add
구성된 환경 변수를 통해 프로세스를 찾고 디렉터리의 기본 위치ssh-agent
에 개인 키를 추가합니다 .~/.ssh
이 시점에서 비밀번호를 입력하라는 메시지가 표시됩니다.
그 후에는 귀하의 비밀번호를 다시 입력하지 않고도 귀하의 키가 인증된 서버에 , 및 다른 사람들이 액세스 ssh
할 수 있게 됩니다 .scp