저는 보통 몇 년에 한 번만 SSH 에이전트 설정을 수행하기 때문에 이를 상기시키기 위해 이 질문을 만들었습니다.
그렇다면 Linux와 유사한 셸 환경을 사용한다고 가정할 때 Windows에서 SSH 에이전트를 어떻게 설정할 수 있습니까?
답변1
내 현재 설정:
- 윈도우 10 프로
- setx 명령을 제공하는 이전 Windows 버전에서도 작동해야 합니다(Win7).
- 바분 껍질(zsh)
- 시그윈 기반이다
내가 한 것:
나는 새 쉘을 시작할 때마다 실행되도록 .zshrc 파일에 시작 명령을 추가하기로 결정했습니다. 명령은 다음과 같습니다.
# startup of the ssh-agent
AGENT_PID=$(pgrep -x ssh-agent)
if [ $? -ne 0 ]; then
echo "~/.zshrc: Starting SSH Agent!"
eval `ssh-agent` && ssh-add ~/.ssh/id_rsa
setx SSH_AUTH_SOCK $SSH_AUTH_SOCK
setx SSH_AGENT_PID $SSH_AGENT_PID
echo "~/.zshrc: SSH Agent running (PID: $SSH_AGENT_PID)"
else
echo "~/.zshrc: SSH Agent already running (PID: $AGENT_PID)"
fi
- pgrep 명령은 실행 중인 SSH 에이전트를 검색합니다. 하나가 실행 중인 경우 프로세스 ID를 출력하고 다른 에이전트의 시작을 건너뜁니다.
- 아무것도 찾을 수 없으면 에이전트가 시작되고 환경 변수가 내보내집니다.
eval `ssh-agent`
에이전트를 시작하고 환경 변수를 설정하는 출력을 평가합니다SSH_AUTH_SOCK
.SSH_AGENT_PID
ssh-add
처음에 개인 키 암호를 묻는 메시지를 표시하는 에이전트에 지정된 개인 키를 추가합니다.- 위에 언급된 변수는 시작된 쉘 프로세스에 대해서만 설정되므로 사용자가 쉘에서 시작되지 않은 다른 쉘 및 기타 도구에 사용할 수 있도록 전역적으로 설정해야 합니다. 이는 Windows에서 setx 명령을 사용하여 수행할 수 있습니다. 에이전트에서 검색된 변수에 따라 변수를 설정하기만 하면 됩니다.
그 후에는 모든 설정이 완료되었으며 쉘을 처음 시작하자마자 에이전트가 실행되어 사용할 수 있습니다. Windows 시작과 함께 에이전트가 시작되도록 하려면 Windows 자동 시작에 셸 실행 프로그램을 추가할 수도 있습니다.
답변2
나에게 효과가 있었던 것은 Oracle cygwin ssh 설정 [1]을 따르는 것이었습니다. 여기에서 Cygwin 설치 및 SSH 구성에 관심이 있습니다. 나는 모든 종류의 QE 작업에서 이 설정을 사용하여 기계에 연결하고 그곳에서 테스트를 수행하고 있습니다. 대부분의 Linux 명령을 수행할 수 있을 뿐만 아니라 Windows 명령도 사용할 수 있습니다. 이는 매우 멋진 기능입니다.
기본적으로 Windows의 Linux 셸 :-)
건배,
남자 이름
[1]https://docs.oracle.com/cd/E24628_01/install.121/e22624/preinstall_req_cygwin_ssh.htm#EMBSC150