Linux
無法從 docker 容器 SSH 到遠端伺服器
在我的主機伺服器上,我的使用者擁有生成的私鑰和公鑰。我已將公鑰值複製到我的遠端伺服器
authorized_keys
文件中。我已將新的 docker 容器實例映射為使用 .ssh 文件夾作為卷並將網路設置為主機的網路。-v /home/jenkins/.ssh:/home/jenkins/.ssh --network host'
現在我嘗試在容器內對遠端電腦進行 SSH 身份驗證。
ssh -vvv -o StrictHostKeyChecking=no jenkins@10.7.175.143
我的使用者沒有 SSH 密碼。SSH伺服器端的輸出:
sshd: Failed none for jenkins from 10.7.148.219 port 42058 ssh2 sshd: Failed password for jenkins from 10.7.148.219 port 42058 ssh2
客戶端輸出:
+ ssh -vvv -o 'StrictHostKeyChecking=no' jenkins@10.7.175.143 OpenSSH_8.6p1, OpenSSL 1.1.1l 24 Aug 2021 debug1: Reading configuration data /etc/ssh/ssh_config debug2: resolve_canonicalize: hostname 10.7.175.143 is address debug3: expanded UserKnownHostsFile '~/.ssh/known_hosts' -> '/root/.ssh/known_hosts' debug3: expanded UserKnownHostsFile '~/.ssh/known_hosts2' -> '/root/.ssh/known_hosts2' debug1: Authenticator provider $SSH_SK_PROVIDER did not resolve; disabling debug3: ssh_connect_direct: entering debug1: Connecting to 10.7.175.143 [10.7.175.143] port 22. debug3: set_sock_tos: set socket 3 IP_TOS 0x48 debug1: Connection established. ................................. debug1: Authentications that can continue: publickey,password,keyboard-interactive debug3: start over, passed a different list publickey,password,keyboard-interactive debug3: preferred publickey,keyboard-interactive,password debug3: authmethod_lookup publickey debug3: remaining preferred: keyboard-interactive,password debug3: authmethod_is_enabled publickey debug1: Next authentication method: publickey debug1: Trying private key: /root/.ssh/id_rsa debug3: no such identity: /root/.ssh/id_rsa: No such file or directory debug1: Trying private key: /root/.ssh/id_dsa debug3: no such identity: /root/.ssh/id_dsa: No such file or directory debug1: Trying private key: /root/.ssh/id_ecdsa debug3: no such identity: /root/.ssh/id_ecdsa: No such file or directory debug1: Trying private key: /root/.ssh/id_ecdsa_sk debug3: no such identity: /root/.ssh/id_ecdsa_sk: No such file or directory debug1: Trying private key: /root/.ssh/id_ed25519 debug3: no such identity: /root/.ssh/id_ed25519: No such file or directory debug1: Trying private key: /root/.ssh/id_ed25519_sk debug3: no such identity: /root/.ssh/id_ed25519_sk: No such file or directory debug1: Trying private key: /root/.ssh/id_xmss debug3: no such identity: /root/.ssh/id_xmss: No such file or directory debug2: we did not send a packet, disable method debug3: authmethod_lookup keyboard-interactive debug3: remaining preferred: password debug3: authmethod_is_enabled keyboard-interactive debug1: Next authentication method: keyboard-interactive debug2: userauth_kbdint debug3: send packet: type 50 debug2: we sent a keyboard-interactive packet, wait for reply debug3: receive packet: type 51 debug1: Authentications that can continue: publickey,password,keyboard-interactive debug3: userauth_kbdint: disable: no info_req_seen debug2: we did not send a packet, disable method debug3: authmethod_lookup password debug3: remaining preferred: debug3: authmethod_is_enabled password debug1: Next authentication method: password debug1: read_passphrase: can't open /dev/tty: No such device or address debug3: send packet: type 50 debug2: we sent a password packet, wait for reply debug3: receive packet: type 51 debug1: Authentications that can continue: publickey,password,keyboard-interactive debug2: we did not send a packet, disable method debug1: No more authentication methods to try. jenkins@10.7.175.143: Permission denied (publickey,password,keyboard-interactive).
我可以以某種方式從 docker 容器中驗證我的身份嗎?
從您的調試輸出中,您可以看到,由於您將
ssh
命令作為執行,它會在的主文件夾而不是主文件夾root
中搜尋 ssh 密鑰。root``jenkins
debug1: Trying private key: /root/.ssh/id_rsa debug3: no such identity: /root/.ssh/id_rsa: No such file or directory
您應該通過在命令中添加
-i <identity_file>
標誌來提供私鑰的位置。ssh