Mac 12.6 시스템에서 Ubuntu 20.04.1 시스템으로 SSH를 통해 접속할 때마다 키 비밀번호를 입력하라는 메시지가 표시되지만 메시지를 제거하는 방법을 모르겠습니다. 다음은 Ubuntu 시스템의 출력입니다. 디버그 모드에서 sshd를 수동으로 실행했지만 문제가 무엇인지 확인하기 위해 표시되는 내용에 대해 충분히 익숙하지 않습니다.
root@dell:/etc/ssh# mkdir /var/run/sshd; chmod 0755 /var/run/sshd; /usr/sbin/sshd -d
debug1: sshd version OpenSSH_8.2, OpenSSL 1.1.1f 31 Mar 2020
debug1: private host key #0: ssh-rsa SHA256:Qi+QfQXlZMNzXx2rc4lTr8Sa2n8NzGShKKlFHlgIJT4
debug1: private host key #1: ecdsa-sha2-nistp256 SHA256:XqYwNkxd/ELRRSp2tzfOAst5H+xwJUjZF95BfkCLIYk
debug1: private host key #2: ssh-ed25519 SHA256:wIWr6ju0DTop8DTREi+uJPxvHJvT+eJxXFq/jgMaJFU
debug1: rexec_argv[0]='/usr/sbin/sshd'
debug1: rexec_argv[1]='-d'
debug1: Set /proc/self/oom_score_adj from 0 to -1000
debug1: Bind to port 22 on 0.0.0.0.
Server listening on 0.0.0.0 port 22.
debug1: Bind to port 22 on ::.
Server listening on :: port 22.
debug1: Server will not fork when running in debugging mode.
debug1: rexec start in 5 out 5 newsock 5 pipe -1 sock 8
debug1: sshd version OpenSSH_8.2, OpenSSL 1.1.1f 31 Mar 2020
debug1: private host key #0: ssh-rsa SHA256:Qi+QfQXlZMNzXx2rc4lTr8Sa2n8NzGShKKlFHlgIJT4
debug1: private host key #1: ecdsa-sha2-nistp256 SHA256:XqYwNkxd/ELRRSp2tzfOAst5H+xwJUjZF95BfkCLIYk
debug1: private host key #2: ssh-ed25519 SHA256:wIWr6ju0DTop8DTREi+uJPxvHJvT+eJxXFq/jgMaJFU
debug1: inetd sockets after dupping: 3, 3
Connection from 192.168.1.9 port 63434 on 192.168.1.30 port 22 rdomain ""
debug1: Local version string SSH-2.0-OpenSSH_8.2p1 Ubuntu-4ubuntu0.5
debug1: Remote protocol version 2.0, remote software version OpenSSH_8.6
debug1: match: OpenSSH_8.6 pat OpenSSH* compat 0x04000000
debug1: permanently_set_uid: 126/65534 [preauth]
debug1: list_hostkey_types: rsa-sha2-512,rsa-sha2-256,ssh-rsa,ecdsa-sha2-nistp256,ssh-ed25519 [preauth]
debug1: SSH2_MSG_KEXINIT sent [preauth]
debug1: SSH2_MSG_KEXINIT received [preauth]
debug1: kex: algorithm: curve25519-sha256 [preauth]
debug1: kex: host key algorithm: ssh-ed25519 [preauth]
debug1: kex: client->server cipher: [email protected] MAC: <implicit> compression: none [preauth]
debug1: kex: server->client cipher: [email protected] MAC: <implicit> compression: none [preauth]
debug1: expecting SSH2_MSG_KEX_ECDH_INIT [preauth]
debug1: rekey out after 134217728 blocks [preauth]
debug1: SSH2_MSG_NEWKEYS sent [preauth]
debug1: Sending SSH2_MSG_EXT_INFO [preauth]
debug1: expecting SSH2_MSG_NEWKEYS [preauth]
debug1: SSH2_MSG_NEWKEYS received [preauth]
debug1: rekey in after 134217728 blocks [preauth]
debug1: KEX done [preauth]
debug1: userauth-request for user mth service ssh-connection method none [preauth]
debug1: attempt 0 failures 0 [preauth]
debug1: PAM: initializing for "mth"
debug1: PAM: setting PAM_RHOST to "192.168.1.9"
debug1: PAM: setting PAM_TTY to "ssh"
debug1: userauth-request for user mth service ssh-connection method publickey [preauth]
debug1: attempt 1 failures 0 [preauth]
debug1: userauth_pubkey: test pkalg rsa-sha2-512 pkblob RSA SHA256:OZm4uD0KuWx6Z494aecU2mD4GmWpmujCXaZkE+D2icY [preauth]
debug1: temporarily_use_uid: 1000/1000 (e=0/0)
debug1: trying public key file /home/mth/.ssh/authorized_keys
debug1: fd 4 clearing O_NONBLOCK
debug1: /home/mth/.ssh/authorized_keys:1: matching key found: RSA SHA256:OZm4uD0KuWx6Z494aecU2mD4GmWpmujCXaZkE+D2icY
debug1: /home/mth/.ssh/authorized_keys:1: key options: agent-forwarding port-forwarding pty user-rc x11-forwarding
Accepted key RSA SHA256:OZm4uD0KuWx6Z494aecU2mD4GmWpmujCXaZkE+D2icY found at /home/mth/.ssh/authorized_keys:1
debug1: restore_uid: 0/0
Postponed publickey for mth from 192.168.1.9 port 63434 ssh2 [preauth]
어떤 조언이라도 감사하겠습니다. 감사해요.
답변1
이는 실제로 그 자체로는 문제가 되지 않습니다. Mac 시스템의 개인 키는 비밀번호로 보호되어 있으며 인증을 위해 Ubuntu 시스템에 제공되기 전에 개인 키를 잠금 해제해야 합니다.
두 가지 옵션이 있습니다. 첫 번째는 개인 키를 사용하여 ssh-agent
메모리 ssh-add
내 에이전트로 한 번 잠금을 해제하고 잠금 해제된 에이전트를 사용하여 Ubuntu 시스템에 신원을 공개하는 것입니다. 이는 암호로 ID를 보호하기 때문에 "더 나은" 옵션입니다. 이 옵션이 키를 안전하게 유지하기 때문에 더 나은지 아니면 매번 시스템을 부팅한다는 의미이기 때문에 더 나쁜지에 대한 의견에 더 가깝다고 느끼기 때문에 따옴표로 묶는 것이 좋습니다. 프록시를 처리하려면 항상 추가 단계가 있습니다.
$ eval `ssh-agent`
Agent pid 123456
$ ssh-add
Enter passphrase for /home/user/.ssh/id_rsa:
위의 에이전트 PID는 명령을 실행할 때마다 변경됩니다 eval
. ID 파일은 개인 ID 파일을 저장하는 위치이며 명령을 실행할 때마다 동일합니다 eval
.
두 번째 옵션은 비밀번호 없이 새로운 SSH 키 쌍을 생성하고, 새로운 공개 키를 Ubuntu 시스템에 배포하고, 보호되지 않는 ID를 사용하는 것입니다.
ssh-keygen -p
편집: dave_thompson_085가 주석에서 지적한 대로 기존 키 쌍에서 비밀번호를 제거하는 데 사용할 수도 있습니다 .