아래 명령의 출력을 이해하는 데 문제가 있습니다. godaddy 서버에 연결하려고 하는데 성공하지 못했습니다. godaddy의 cpanel에서 SSH 액세스를 활성화하고 공개/개인 키를 생성하고 개인 키를 다운로드하여 이동 ~/.ssh
하여 사용할 ssh-add -K ~/.ssh/mykey
수 없습니다. 사이트에 또 다른 질문이 있다는 것을 알고 있지만 실제 출력을 제공하고 왜 실패하는지 궁금합니다.
왜 이름이 지정된 SSH 키를 찾지 않는지 모르겠습니다.key4govi
id_rsa
(그것이 내 개인 키라고 불리는 것입니다. (출력에서 가정) 그들의 키를 보는 것 같습니다 .
다음은 로컬 시스템에 있는 .ssh 폴더의 폴더 내용입니다.
github_rsa
github_rsa.pub
id_rsa
id_rsa.pub
key4govi
key4govi.pub
known_hosts
이것은 내 명령입니다:
~ => ssh [email protected] -vv
출력은 다음과 같습니다.
OpenSSH_6.9p1, LibreSSL 2.1.8
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 20: Applying options for *
debug1: /etc/ssh/ssh_config line 53: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to callydai.com [107.180.55.15] port 22.
debug1: Connection established.
debug1: identity file /Users/raigovind93/.ssh/id_rsa type 1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/raigovind93/.ssh/id_rsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/raigovind93/.ssh/id_dsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/raigovind93/.ssh/id_dsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/raigovind93/.ssh/id_ecdsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/raigovind93/.ssh/id_ecdsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/raigovind93/.ssh/id_ed25519 type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/raigovind93/.ssh/id_ed25519-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.9
ssh_exchange_identification: read: Connection reset by peer
답변1
ssh_exchange_identification: read: Connection reset by peer
다양한 오류를 지적하세요. 이는 SSH 서버에 연결할 수 있지만 올바른 "hello" 메시지를 받지 못한 채 연결이 즉시 종료됨을 의미합니다. 거기 서버가 운영되고 있나요? 연결을 허용하는 어떤 종류의 정책이 없나요? 올바른 역방향 DNS 레코드가 있습니까?
키체인에 있는 키가 정확하며 올바른 키에 연결할 수 있게 되면 키가 제공됩니다. 터치된 다른 키는 기본 경로이며 ssh는 항상 해당 키를 열려고 시도합니다.
답변2
답변이 늦었습니다. 에이전트/키체인에 대한 키가 이미 로드되어 있을 수도 있지만,SSH 클라이언트가 프록시를 전혀 사용하려고 시도하지 않는 것 같습니다..
-K
이 옵션의 의미는 OpenSSH 버전에 따라 다릅니다. ssh-add
"키체인"이라는 단어를 언급했다는 사실은 여러분에게 친숙할 수 있는 MacOS의 사용자 정의 버전을 암시하며 ssh-add
, 이 옵션이 이에 적합한 것 같습니다.
일반 OpenSSH(버전 8.4)에서 -K
옵션은 이제 FIDO 인증자에서 키를 로드하므로 여기서는 클라이언트 OS 버전이 중요할 수 있습니다.
이 경우 확인할 사항은 다음과 같습니다.
기본 온전성 검사:
SSH_AUTH_SOCK
환경 변수가 존재합니까? 유효한 UNIX 소켓을 가리키나요?fuser $SSH_AUTH_SOCK
현재 로그인 세션의 일부인 사용자 계정이 소유한 프로세스 의 PID가 표시되어야 합니다.ssh-agent
실행하셨다고 하셨는데
ssh-add -K ~/.ssh/mykey
실제 개인키 파일 이름이~/.ssh/key4govi
.. 질문글 작성시 그냥 실수였던거 같은데 실제로 실행하셨군요ssh-add -K ~/.ssh/key4govi
...그렇죠?파일이
~/.ssh/key4govi
제대로 보호되고 있나요?man ssh-add
말했다(강조):
ID 파일은 사용자 외에는 누구도 읽을 수 없습니다. 알아채다
ssh-add
다른 사람이 액세스할 수 있는 경우 ID 파일은 무시됩니다.
did ~/.ssh/key4govi
의 권한이 그보다 더 허용적이면 -rw-------
무시될 수 있으므로 명령 ssh-add
이 전혀 수행되지 않을 수 있습니다.
~/.ssh/config
명시적으로 허용되지 않는 한 SSH 에이전트/키체인 사용을 중지하는 사용자 정의 구성이 있습니까 ?
답변3
파일에 키를 지정합니다 .ssh/config
. 프로필은 당신의 친구입니다.
Host some-name
# The actual host name or IP address of the server
HostName xxx.xxx.xxx.xx
User username
IdentityFile ~/.ssh/some-key-edcsa
그러면 입력할 때 ssh some-name
해당 이름과 관련된 키를 사용하려고 시도합니다.
답변4
어쩌면 이 명령을 시도해 볼 수도 있습니다.
ssh-copy-id -i identity-file(ex.id_rsa.pub) user@server
계정 비밀번호를 입력하라는 메시지가 표시되며 이는 비밀번호를 PasswordAuthentication yes
설정해야 함을 의미합니다.
이 명령은 .ssh/authorized_keys에 필수 항목을 생성합니다. 따라서 이후에는 다음을 통해 서버에 연결할 수 있어야 합니다.ssh -i identity-file user@server