在Docker鏡像構建期間,我無法檢出託管在GitHub上的私有git存儲庫。從SSH在詳細模式下的錯誤是:構建Docker時無法使用私鑰進行SSH SSH鏡像
OpenSSH_6.6.1, OpenSSL 1.0.1f 6 Jan 2014
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to github.com [192.30.252.130] port 22.
debug1: Connection established.
debug1: permanently_set_uid: 0/0
debug1: identity file /root/.ssh/id_rsa type -1
debug1: identity file /root/.ssh/id_rsa-cert type -1
debug1: identity file /root/.ssh/id_dsa type -1
debug1: identity file /root/.ssh/id_dsa-cert type -1
debug1: identity file /root/.ssh/id_ecdsa type -1
debug1: identity file /root/.ssh/id_ecdsa-cert type -1
debug1: identity file /root/.ssh/id_ed25519 type -1
debug1: identity file /root/.ssh/id_ed25519-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.6.1p1 Ubuntu-2ubuntu2
debug1: Remote protocol version 2.0, remote software version libssh-0.6.0
debug1: no match: libssh-0.6.0
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-sha1 none
debug1: kex: client->server aes128-ctr hmac-sha1 none
debug1: sending SSH2_MSG_KEX_ECDH_INIT
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: RSA 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48
debug1: read_passphrase: can't open /dev/tty: No such device or address
Host key verification failed.
的/dev/tty
設備似乎是存在:
total 4
drwxr-xr-x 4 root root 340 Jul 22 17:12 .
drwxr-xr-x 130 root root 4096 Jul 22 17:12 ..
lrwxrwxrwx 1 root root 13 Jul 22 17:12 fd -> /proc/self/fd
crw-rw-rw- 1 root root 1, 7 Jul 22 17:12 full
c--------- 1 root root 10, 229 Jul 22 17:12 fuse
lrwxrwxrwx 1 root root 11 Jul 22 17:12 kcore -> /proc/kcore
crw-rw-rw- 1 root root 1, 3 Jul 22 17:12 null
lrwxrwxrwx 1 root root 8 Jul 22 17:12 ptmx -> pts/ptmx
drwxr-xr-x 2 root root 0 Jul 22 17:12 pts
crw-rw-rw- 1 root root 1, 8 Jul 22 17:12 random
drwxrwxrwt 2 root root 40 Jul 22 17:12 shm
lrwxrwxrwx 1 root root 15 Jul 22 17:12 stderr -> /proc/self/fd/2
lrwxrwxrwx 1 root root 15 Jul 22 17:12 stdin -> /proc/self/fd/0
lrwxrwxrwx 1 root root 15 Jul 22 17:12 stdout -> /proc/self/fd/1
crw-rw-rw- 1 root root 5, 0 Jul 22 17:12 tty
crw-rw-rw- 1 root root 1, 9 Jul 22 17:12 urandom
crw-rw-rw- 1 root root 1, 5 Jul 22 17:12 zero
這是我的Dockerfile
的一個精簡版表示我的測試:
FROM ubuntu:trusty
ADD . /my_app
ADD ./config/ssh/docker_ssh_key /root/.ssh/id_rsa
RUN ls -al /dev
RUN ssh -t -t -v [email protected]
CMD bundle exec thin -p $PORT -R config.ru start
我已經測試了構建並知道密鑰的工作。如果我在沒有RUN命令的情況下構建映像並使用交互式shell啓動容器,我可以訪問git存儲庫。
我發現了一些類似的錯誤消息的其他問題。但他們失蹤/dev/tty
這似乎並不是這裏的情況。有任何想法嗎?
私鑰(在客戶端還是服務器上)是否有密碼?如果是這樣,也許嘗試測試看看使用未加密的私鑰是否會導致相同的問題。這不是最安全的設置,但它可以幫助您隔離問題。 – phylae