DigitalOcean Droplet이 있고 Github에서 저장소를 복제하려고 합니다.
이것은 내 로컬 컴퓨터에서 잘 작동하며 Github의 가이드를 따르고 있습니다.
https://docs.github.com/en/developers/overview/using-ssh-agent-forwarding
eval $(ssh-agent -s)
서버에서 SSH 프록시를 수동으로 활성화 해야 했지만 서버에서 액세스를 사용할 수 없기 때문에 알 수 있는 한 프록시 전달이 발생하지 않으며 디버그 출력은 다음과 같습니다.ssh -T [email protected]
ssh -v [email protected]
OpenSSH_8.2p1 Ubuntu-4ubuntu0.5, OpenSSL 1.1.1f 31 Mar 2020
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: include /etc/ssh/ssh_config.d/*.conf matched no files
debug1: /etc/ssh/ssh_config line 21: Applying options for *
debug1: Connecting to github.com [140.82.121.3] port 22.
debug1: Connection established.
debug1: identity file /root/.ssh/id_rsa type -1
debug1: identity file /root/.ssh/id_rsa-cert type -1
debug1: identity file /root/.ssh/id_dsa type -1
debug1: identity file /root/.ssh/id_dsa-cert type -1
debug1: identity file /root/.ssh/id_ecdsa type -1
debug1: identity file /root/.ssh/id_ecdsa-cert type -1
debug1: identity file /root/.ssh/id_ecdsa_sk type -1
debug1: identity file /root/.ssh/id_ecdsa_sk-cert type -1
debug1: identity file /root/.ssh/id_ed25519 type -1
debug1: identity file /root/.ssh/id_ed25519-cert type -1
debug1: identity file /root/.ssh/id_ed25519_sk type -1
debug1: identity file /root/.ssh/id_ed25519_sk-cert type -1
debug1: identity file /root/.ssh/id_xmss type -1
debug1: identity file /root/.ssh/id_xmss-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_8.2p1 Ubuntu-4ubuntu0.5
debug1: Remote protocol version 2.0, remote software version babeld-181fb29f
debug1: no match: babeld-181fb29f
debug1: Authenticating to github.com:22 as 'git'
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: algorithm: curve25519-sha256
debug1: kex: host key algorithm: ecdsa-sha2-nistp256
debug1: kex: server->client cipher: [email protected] MAC: <implicit> compression: none
debug1: kex: client->server cipher: [email protected] MAC: <implicit> compression: none
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: ecdsa-sha2-nistp256 SHA256:p2QAMXNIC1TJYWeIOttrVc98/R1BUFWu3/LiyKgUfQM
The authenticity of host 'github.com (140.82.121.3)' can't be established.
ECDSA key fingerprint is SHA256:p2QAMXNIC1TJYWeIOttrVc98/R1BUFWu3/LiyKgUfQM.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'github.com,140.82.121.3' (ECDSA) to the list of known hosts.
debug1: rekey out after 134217728 blocks
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: rekey in after 134217728 blocks
debug1: Will attempt key: /root/.ssh/id_rsa
debug1: Will attempt key: /root/.ssh/id_dsa
debug1: Will attempt key: /root/.ssh/id_ecdsa
debug1: Will attempt key: /root/.ssh/id_ecdsa_sk
debug1: Will attempt key: /root/.ssh/id_ed25519
debug1: Will attempt key: /root/.ssh/id_ed25519_sk
debug1: Will attempt key: /root/.ssh/id_xmss
debug1: SSH2_MSG_EXT_INFO received
debug1: kex_input_ext_info: server-sig-algs=<[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],ssh-ed25519,ecdsa-sha2-nistp521,ecdsa-sha2-nistp384,ecdsa-sha2-nistp256,rsa-sha2-512,rsa-sha2-256,ssh-rsa>
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Trying private key: /root/.ssh/id_rsa
debug1: Trying private key: /root/.ssh/id_dsa
debug1: Trying private key: /root/.ssh/id_ecdsa
debug1: Trying private key: /root/.ssh/id_ecdsa_sk
debug1: Trying private key: /root/.ssh/id_ed25519
debug1: Trying private key: /root/.ssh/id_ed25519_sk
debug1: Trying private key: /root/.ssh/id_xmss
debug1: No more authentication methods to try.
[email protected]: Permission denied (publickey).
내 로컬 컴퓨터에서 서버 IP에 대한 구성 항목을 만들었습니다.
Host x.x.x.x
ForwardAgent yes
또한 서버의 sshd_config 파일을 다음과 같이 편집했습니다.
AllowAgentForwarding yes
다음 명령을 사용하여 로컬 컴퓨터에 로컬 키를 추가했습니다.ssh-add ~/.ssh/id_rsa
나는 달리 무엇을 해야 할지 몰랐고 몇 시간 동안 이 문제를 놓고 고민하고 있었습니다. (찾을 수 있는 모든 내용을 읽었지만 도움이 되는 것은 없습니다.)
답변1
내 실수는 제공된 DigitalOcean 콘솔 창을 사용하여 문제를 디버깅하려고 시도한 것입니다. 전달을 수행하는 데 필요한 액세스 권한이 없을 수도 있다는 것을 천천히 깨달았습니다. 물론 그렇지 않습니다. 브라우저 창에 있기 때문입니다.
그래서 모든 것을 버리고 기본으로 돌아가 SSH 액세스를 위해 터미널을 사용했는데 갑자기 유용한 오류 메시지가 표시되었습니다.
마지막으로 로컬 컴퓨터의 구성 항목을 다음과 같이 확장했습니다.
Host digitalocean
User root
ForwardAgent yes
Hostname x.x.x.x
IdentityFile ~/.ssh/digitalocean
그런 다음 서버에서 github에 액세스할 수 있습니다.ssh -T [email protected]
해결되었습니다.
답변2
서버가 아닌 로컬 시스템에서 ssh-agent를 활성화하고 여기에 키를 추가해야 합니다.