SSH가 CentOS 8(GCE VM)에서 작동을 멈춥니다.
GCE CentOS 8 VM에서 이틀 동안 제대로 작동하는 pub/개인 키 쌍을 사용하여 ssh가 올바르게 작동하고 작동이 중지되었습니다.
이제 나는 다음을 얻습니다:
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
따라서 작동 중이었습니다. 즉, 모든 권한이 올바르게 작동하면서 모든 것이 올바르게 설정되고 구성되었지만 이제는 작동하지 않으므로 구성이 아닙니다. 구성에는 아무것도 변경되지 않았습니다.
저는 CentOS 7에서 동일한 설정을 사용하고 있는데 계속해서 작동하고 있으며 다운되거나 작동이 중단되거나 문제가 발생한 적이 없습니다.
구성이 정확합니다. 파일 및 디렉터리 권한을 확인했습니다.
$cd $HOME/.ssh
$ls -al .
결과:
drwx------. 3 user group 156 Oct 17 10:11 .
drwxrwx---. 12 user group 4096 Oct 17 10:09 ..
-rw-------. 1 user group 197 Oct 17 10:09 authorized_keys
Cygwin에서 이와 같은 키를 생성하고 /home/user/.ssh/authorized_keys의 GCE VM에 .pub 콘텐츠를 저장했습니다.
ssh-keygen -f id_ed25519 -o -a 100 -t ed25519 -C "from:cygwin"
예전에는 작동했지만 지금은 작동하지 않습니다.
내 연결 스크립트:
#!/bin/bash
IP=x.x.x.x
LOCAL_KEYFILE="/c/home/user/.ssh/id_ed25519"
REMOTE_USER='user'
ssh -v -i $LOCAL_KEYFILE $REMOTE_USER@$IP
$systemctl 상태 sshd.service
● sshd.service - OpenSSH server daemon
Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2019-10-17 10:19:12 UTC; 17ms ago
Docs: man:sshd(8)
man:sshd_config(5)
Main PID: 2504 (sshd)
Tasks: 1 (limit: 26213)
Memory: 1.1M
CGroup: /system.slice/sshd.service
└─2504 /usr/sbin/sshd -D [email protected],[email protected],aes256-ctr,aes256-cbc,[email protected],aes128-ctr,aes128-cbc [email protected],[email protected],[email protected]>
Oct 17 10:19:12 host_name systemd[1]: Starting OpenSSH server daemon...
Oct 17 10:19:12 host_name sshd[2504]: Server listening on 0.0.0.0 port 22.
Oct 17 10:19:12 host_name sshd[2504]: Server listening on :: port 22.
Oct 17 10:19:12 host_name systemd[1]: Started OpenSSH server daemon.
연결을 시도할 때 자세한 출력:
OpenSSH_8.0p1, OpenSSL 1.1.1d 10 Sep 2019
debug1: Connecting to x.x.x.x [x.x.x.x] port 22.
debug1: Connection established.
debug1: identity file /g/home/user/.ssh/id_ed25519 type 3
debug1: identity file /g/home/user/.ssh/id_ed25519-cert type -1 <== I dunno what this is, I don't have this file local
debug1: Local version string SSH-2.0-OpenSSH_8.0
debug1: Remote protocol version 2.0, remote software version OpenSSH_7.8
debug1: match: OpenSSH_7.8 pat OpenSSH* compat 0x04000000
debug1: Authenticating to 34.82.235.87:22 as 'proc'
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: algorithm: [email protected]
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:nfWd1FFBjYKQ7G7j4hkftEfB8UowSKkwfJzC2T8UF1g
debug1: Host '34.82.235.87' is known and matches the ECDSA host key.
debug1: Found key in /home/<another-unrelated-user>/.ssh/known_hosts:11 <== why is it reference another user here?
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: /g/home/user/.ssh/id_ed25519 ED25519 SHA256:7o0XJjVnZLuzi+fO1NUUkFKpwKqw87u208IBy53zHcI explicit
debug1: SSH2_MSG_EXT_INFO received
debug1: kex_input_ext_info: server-sig-algs=<ssh-ed25519,ssh-rsa,rsa-sha2-256,rsa-sha2-512,ssh-dss,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,null>
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic
debug1: Next authentication method: publickey
debug1: Offering public key: /g/home/user/.ssh/id_ed25519 ED25519 SHA256:7o0XJjVnZLuzi+fO1NUUkFKpwKqw87u208IBy53zHcI explicit
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic
debug1: No more authentication methods to try.
[email protected]: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
이 명령을 실행해야 한다는 기사를 찾아서 실행했습니다.
restorecon -Rv /home/user/.ssh/
restorecon -Rv /home/user/.ssh/authorized_keys
semanage fcontext -a -t ssh_home_t "/home/user/.ssh/authorized_keys"
그런 다음 각각을 실행한 후 sshd를 다시 시작하고 연결을 시도했지만 동일한 결과(동일한 오류 메시지)를 얻었습니다. 다시 시작 명령:
systemctl restart sshd.service
어떤 아이디어라도 대단히 감사하겠습니다. 당황스럽습니다.
GCE 방화벽 설정에는 변경된 사항이 없으며 포트 22가 열려 있으며 동일한 네트워크로 구성된 VM에 연결할 수 있습니다.
다음을 통해 브라우저에서 창을 열 때 SSH를 통해 연결할 수 있습니다.
https://console.cloud.google.com/compute/instancesDetail/zones/us-west1-b/instances/<instance>?project=<project-name>
나는 다음을 사용하여 selinux를 껐습니다.
setenforce 0
그리고 `/etc/selinux/config에서 다음을 설정했습니다.SELINUX=비활성화됨 VM을 다시 시작했는데 그런 행운은 없었습니다.