Windows 7의 openssh, 모든 cmd 인스턴스에 대해 ssh-add를 한 번 실행하세요.

Windows 7의 openssh, 모든 cmd 인스턴스에 대해 ssh-add를 한 번 실행하세요.

최신 cygwin 배포판의 일부로 openSSH를 설치했습니다. 내 목표는 다양한 Linux 시스템에 비밀번호 없이 로그인하기 위해 기본 창 콘솔(cmd)에서 ssh-agent를 사용하는 것입니다.

키를 생성하여 원격 호스트의 적절한 디렉터리에 업로드했는데 모든 것이 잘 작동합니다.

내가 가진 유일한 문제는 새 cmd를 열 때마다 'ssh-add'를 실행하고 암호를 입력해야 하며 그러면 원격 호스트에서 암호 없이 로그인할 수 있다는 것입니다. 이 문제를 극복할 수 있는 방법이 있나요? 이상적인 솔루션은 ssh-add를 한 번만 실행하는 것입니다.

참고: ssh-agent에 대한 인수로 cmd를 여는 중입니다: 'ssh-agent cmd'

답변1

실제로 호출하고 전역적으로 사용할 수 있도록 하는 "ssh-agent-helper"라는 도구를 만들었습니다. 따라서 구성 없이 CMD, Bash, PowerShell 등 모든 터미널에서 또는 를 사용할 ssh-agent수 있습니다 .ssh-addsshgit

여기에서 찾을 수 있습니다:https://github.com/raeesbhatti/ssh-agent-helper

답변2

기본 명령 창에서는 ssh를 실행할 수 없습니다. Cygwin 바이너리를 실행하려면 Cygwin bash "창"을 실행해야 합니다.

Cygwin bash "windows"에서는 ssh-agent의 출력을 파일에 저장한 다음 캐시된 자격 증명을 사용하려는 로그인 스크립트에 해당 파일을 소스로 지정해야 합니다. 첫 번째 "창"에서 다음을 실행합니다.

$ ssh-agent >your_save_file     # Starts ssh-agent, saves shell variables
$ . your_save_file              # Loads saved shell variables into current shell
$ ssh-add                       # Adds keys into ssh-agent

다른 각각에서는 다음을 실행합니다.

$ . your_save_file

명령이 실행 된 후 시작된 모든 "창" 및 하위 프로세스는 . your_save_filessh-agent에 캐시된 자격 증명을 사용할 수 있습니다. ssh-agent가 중지되거나 종료될 때마다 또는 시스템 재부팅 후 첫 번째 명령 세트를 다시 실행해야 합니다. 캐시된 자격 증명을 특정 셸에서 사용할 수 있는지 여부가 확실하지 않은 경우 다음을 실행하세요.

$ ssh-add -l            # Show list of loaded keys in ssh-agent

관련 정보