Windows 10, 11 표준 탑재 SSH 클라이언트의 사적 모범 사례

자신의 환경 재현 절차 메모

Windows 10 표준 탑재 SSH 클라이언트에서 키 생성 + ssh-agent

GitHub 문서 라든지는 Git Bash 사용하는 순서가 써 있지만, 정직 트러블의 원이므로 솔직하게 Windows 표준을 사용한다. 버전이 오래된? 움직이는 것이 중요해.

전제



Windows 10 Pro 64bit 20H2, 21H1
Windows 11 Pro 64bit 21H2

우선 최신으로 하고 있으면 재현하는 것이 아닌가? 최근 설정한 환경이라면 표준으로 OpenSSH 클라이언트가 들어 있었다.

조작



PowerShell 시작



Win 키 → powershell → enter



제대로 이것↑를 시작한다.

키 생성


ssh-keygen -t ecdsa -b 521 -C "Comment"



코멘트는 알기 쉬운 문자열로 바꾼다. 제대로 패스프레이즈(passphrase)를 건다.

여기서 어떤 키 알고리즘을 사용하는지는 사람에 의해 나눌 수 있습니다. 접속처에 CentOS 6의 OpenSSH가 있는 사람은 Ed25519 알고리즘의 열쇠로 인증을 실시할 수 없을 것이다. 한편, RSA의 열쇠는 조금 전의 OpenSSH Agent로 버그한다고 하는 불쾌한 문제가 있었다. 지금은 치료하고 있는 것 같다? 각 환경에서 조정합시다.

관리자 권한 PowerShell 시작


Start-Process -Verb runas powershell

UAC 확인 대화 상자가 나오므로 허용합니다.

SSH Agent 자동 시작 및 시작


Get-Service ssh-agent | Set-Service -StartupType Automatic -PassThru | Start-Service -PassThru | Select-Object -Property Name, StartType, Status



어떻게 쓰는지는 취미가 나뉘지만 사쿠와 한 줄이 편할 것이다.
Running이 확인되면 exit에서 닫고 대상 일반 권한 PowerShell로 돌아갑니다.

SSH Agent에 키 추가


ssh-add .ssh\id_ecdsa

이 절차에 따라 현재 디렉토리는 %USERPROFILE% 입니다. 다르면 적절하게 조정. 패스 프레이즈를 듣기 때문에 ssh-keygen 에 넣은 패스 프레이즈에 대답한다.



추가 : Git for Windows 용



Windows의 ssh-agent 주위의 사정은 역사적 경위로 상당히 복잡해지고 있다( htps : // 이 m / s t t rt / ms / 1d5 a 5 dbd3 아 7c6 a 2 a 24 를 참고로), 「가장 Windows다운 소스 코드」( htps : // 기주 b. 코 m / 뽀 r shi l / 훗 )로 움직이고 있어, 제대로 Windows Service 로 짜넣어지고 있는 Win32-OpenSSH 를 기초로 하는 것이 타당하다고 생각 구축하고 있다.

문제는 MSYS2를 베이스로 하고 있는 Git for Windows의 존재이지만, 단순히 Git의 백엔드가 되는 SSH의 구현을 환경 변수로 지시하면 좋을 뿐이므로, 이하의 커멘드를 실행하면 된다.
[Environment]::SetEnvironmentVariable('GIT_SSH', 'C:\Windows\System32\OpenSSH\ssh.exe', 'User')



↓PowerShell 다시 시작



이제 편안한 SSH 생활을 보낼 수 있습니다.

좋은 웹페이지 즐겨찾기