안녕하세요.
github에 push 하기 위해 ssh-key 생성 시 암호를 설정했다면, Qt에서 원격지로 전송할 때 암호창이 나타나지 않아서 bash에서 수동으로 passphrase(암호)를 입력하는 경우 있을 겁니다.
설정창에는 기본으로 win-ssh-askpass 실행파일로 되어 있는데, 파일이 다운로드하거나 찾을 수 없어서 bash로 하는 경우가 있는데, qt에서 지원해 주는 ssh 암호창이 있어 공유해 봅니다.
1. github에 push 할 경우 문제 상황
로컬에서 git을 사용할 때는 원격지 전송이 필요하지 않기 때문에 문제가 없지만, 원격지로 push 하면 아래와 에러가 발생합니다.
특별한 설정을 하지 않았다면, win-ssh-askpass를 찾아 시도하지만, 파일이 없다고 나와 실행되지 않습니다. 기본적으로 설치한 상태에서는 파일을 찾을 수 없었습니다.
01:01:12 Running in "D:\Project\02_qt\ComportFree": "D:\Program Files\Git\cmd\git.exe" push
ssh_askpass: exec(win-ssh-askpass): No such file or directory
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
The command "D:\Program Files\Git\cmd\git.exe push" terminated with exit code 128.
2. ssh-askpass.exe 무엇인가?
그래서 ssh-askpass.exe 이것이 무엇이기에 잘 보이지 않는가 궁금해서 찾아봤습니다.
ssh-askpass는 그래픽 사용자 인터페이스(GUI)를 통해 SSH 키의 암호(passphrase)를 입력받는 프로그램입니다.
SSH 클라이언트(예: ssh.exe, git)가 터미널 환경이 아닌 GUI 환경에서 실행될 때, 암호를 입력할 터미널이 없으므로 ssh-askpass를 호출하여 암호 입력 창을 띄웁니다.
3. 해결방법 (대안)
Qt Creator는 원격 장치 배포 등을 위해 SSH 연결을 사용할 때 자체적으로 ssh-askpass와 유사한 기능을 제공합니다.
이 실행 파일의 이름은 qtc-askpass이며, 일반적으로 Qt Creator 설치 경로 내의 libexec/qtcreator/ 폴더에 위치합니다.
Qt Creator의 Preferences > Devices > SSH 설정에서 "Path to ssh-askpass executable" 필드를 보면 이 qtc-askpass가 기본값으로 설정되어 있는 것을 확인할 수 있습니다.
4. 설정 방법
Preferences -> Version Control -> General 메뉴로 들어가서 SSH prompt command 항목에 위의 대안에서 본 경로 및 파일로 수정하고 확인하면 됩니다.
5. push 실행
아래 화면과 같이 암호 입력창이 나타납니다. 암호를 입력하면 Push가 정상적으로 되는 것을 알 수 있습니다. 단, 원격 설정 같은 기본 사항들이 제대로 갖춰져 있을 때만 해당합니다.
감사합니다.
<참고 사이트>
1. [Git (7)] Github 비밀번호 입력 없이 pull/push 하기(github ssh key 설정)
https://goddaehee.tistory.com/254
'Programming > Qt' 카테고리의 다른 글
[Qt] Qt Creator에서 생성한 python 가상환경에서 PySide6 작업하기 (0) | 2025.06.28 |
---|---|
[Qt for Android] 카메라 영상 확인을 위한 yuv raw 데이터 저장 및 프레임 확인하기 (0) | 2025.06.22 |
[Qt] gRPC, Protocol Buffers 사용 시 라이브러리 추가 방법 (2) | 2025.05.29 |
[Qt Tip] Beware: Starting QML Project Names with Numbers Can Cause Headaches. (2) | 2025.05.24 |
[Qt] C++ 컨테이너 순회, '범위 기반 for' 사용 및 최적화 방법 (2) | 2025.05.14 |