docker ubuntuコンテナを使用してローカルコンピュータにSSHラボを設定しています。コンテナを対話的に起動し、別のツールを使用してコンテナにopen sshをインストールしました。コンテナ:22を私のローカルホスト:2222に渡しました。
docker pull ubuntu
docker run -it --name ubunut-ssh-lab -p 2222:22 ubuntu /bin/bash
apt-get update
apt-get install -y openssh-server
次に、sshd_configでPubKeyAuthをyesとして有効にし、ローカルシステムのpubキーをコンテナディレクトリの.ssh / authroized_keysファイルにコピーしました。サービスが再起動されました。私はまだ手に入れるroot@localhost: 権限が拒否されました (公開鍵)。
-v(verbose) 引数を使用して ssh 接続を実行します。
ssh -v -i id_ubuntu_lab -p 2222 root@localhost
OpenSSH_9.3p2, LibreSSL 3.3.6
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 21: include /etc/ssh/ssh_config.d/* matched no files
debug1: /etc/ssh/ssh_config line 54: Applying options for *
debug1: Authenticator provider $SSH_SK_PROVIDER did not resolve; disabling
debug1: Connecting to localhost port 2222.
debug1: Connection established.
debug1: identity file id_ubuntu_lab type 0
debug1: identity file id_ubuntu_lab-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_9.3
debug1: Remote protocol version 2.0, remote software version OpenSSH_8.9p1 Ubuntu-3ubuntu0.4
debug1: compat_banner: match: OpenSSH_8.9p1 Ubuntu-3ubuntu0.4 pat OpenSSH* compat 0x04000000
debug1: Authenticating to localhost:2222 as 'root'
debug1: load_hostkeys: fopen /Users/sourabhdhingra/.ssh/known_hosts2: No such file or directory
debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts: No such file or directory
debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts2: No such file or directory
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: algorithm: [email protected]
debug1: kex: host key algorithm: ssh-ed25519
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: SSH2_MSG_KEX_ECDH_REPLY received
debug1: Server host key: ssh-ed25519 SHA256:QanR0+0tbO3ombtQ17EvYU/yUoWTXJtBdZz7pPRHD7U
debug1: load_hostkeys: fopen /Users/sourabhdhingra/.ssh/known_hosts2: No such file or directory
debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts: No such file or directory
debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts2: No such file or directory
debug1: checking without port identifier
debug1: load_hostkeys: fopen /Users/sourabhdhingra/.ssh/known_hosts2: No such file or directory
debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts: No such file or directory
debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts2: No such file or directory
debug1: hostkeys_find_by_key_hostfile: hostkeys file /Users/sourabhdhingra/.ssh/known_hosts2 does not exist
debug1: hostkeys_find_by_key_hostfile: hostkeys file /etc/ssh/ssh_known_hosts does not exist
debug1: hostkeys_find_by_key_hostfile: hostkeys file /etc/ssh/ssh_known_hosts2 does not exist
The authenticity of host '[localhost]:2222 ([::1]:2222)' can't be established.
ED25519 key fingerprint is SHA256:QanR0+0tbO3ombtQ17EvYU/yUoWTXJtBdZz7pPRHD7U.
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '[localhost]:2222' (ED25519) 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: get_agent_identities: bound agent to hostkey
debug1: get_agent_identities: ssh_fetch_identitylist: agent contains no identities
debug1: Will attempt key: id_ubuntu_lab RSA SHA256:XghbmDcG+wgAFNV4/BdCxjwRtsnlBsmq9BiKmxEj5hU explicit
debug1: SSH2_MSG_EXT_INFO received
debug1: kex_input_ext_info: server-sig-algs=<ssh-ed25519,[email protected],ssh-rsa,rsa-sha2-256,rsa-sha2-512,ssh-dss,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,[email protected],[email protected]>
debug1: kex_input_ext_info: [email protected]=<0>
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering public key: id_ubuntu_lab RSA SHA256:XghbmDcG+wgAFNV4/BdCxjwRtsnlBsmq9BiKmxEj5hU explicit
debug1: Authentications that can continue: publickey
debug1: No more authentication methods to try.
root@localhost: Permission denied (publickey).
上記のログとエラーが発生しました!分析のためにここにsshd_configファイルを添付します。ここで何が間違っているかを確認して助けてください。
PermitRootLogin without-password
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2
PasswordAuthentication no
PermitEmptyPasswords yes
これが出力ですls -la
drwxr-xr-x 2 root root 4096 Oct 22 13:54 .
drwxr-xr-x 1 root root 4096 Oct 22 13:44 ..
-rw------- 1 501 dialout 602 Oct 22 13:54 authorized_keys
注:sshd_configにはコメントされていない行のみが含まれていました。
ここで問題は何ですか?接続できませんか?
答え1
/root
docker Ubuntuコンテナを使用している場合、このディレクトリはデフォルトでイメージに存在しない可能性があります。
この場合、cd ~
dockerを使用して対話型セッションを試みると、次の結果が表示されます。
root@4e56fee1ea11:/# cd ~
bash: cd: /root: No such file or directory
だから追加措置を取ってください!
mkdir /root
mv .ssh /root
service ssh restart
次に、ローカルコンピュータからログインします。
ssh -p 2222 root@localhost
あなたの貢献に感謝します!