(私のdocker-composeインストールで)ssh-agentをdockerコンテナーに転送するのに深刻な問題を抱えています。 MacでCatalinaを実行していて、docker-engine 19.03.8とCompose @ 1.24を使用しています。以下は私のdocker-composeファイルです:
version: '3.7'
services:
platform:
build:
context: .
dockerfile: ./platform/compose/Dockerfile.platform.local
working_dir: /root/platform
ports:
- "3000:3000"
command: ["./compose/scripts/start_Rails.sh"]
tty: true
stdin_open: true
volumes:
- type: bind
source: /run/Host-services/ssh-auth.sock
target: /run/Host-services/ssh-auth.sock
env_file: ./platform/.env
environment:
TERM: xterm-256color
SSH_AUTH_SOCK: /run/Host-services/ssh-auth.sock
volumes:
私がssh-agent転送を構成した方法は docker-compose documentation で指定されているとおりです
./compose/scripts/start_Rails.sh
スクリプトはbundle install && bundle exec Rails s
を実行します。私がプライベートリポジトリから取得している宝石はほとんどなく、ssh-agentを転送することでこれらの宝石をインストールできるはずだと思いました。
Docker-composeを起動する前にssh-agentを起動してみましたが、何も実行されないようです。
{
"debug": true,
"experimental": true,
"features": {
"buildkit": true
}
}
これは私のdocker設定ファイル内に追加したものです。どんな助けでもありがたいです。
**更新:0 **
私の.sshディレクトリ構造と設定の以下:
ツリー〜/ .ssh
├── config
├── known_hosts
├── midhun
│ ├── id_rsa
│ └── id_rsa.pub
└── client
├── id_rsa
└── id_rsa.pub
猫〜/ .ssh/config
Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/client/id_rsa
Host me.github.com
HostName github.com
User git
IdentityFile ~/.ssh/midhun/id_rsa
更新:1
構成をForwardAgent Yes
で更新しましたが、機能しませんでした。このGist-> https://Gist.github.com/midhunkrishna/8f77ebdc90c7230d2ffae0834dc477cc にsshログ全体を記録しました。
以下が~/.ssh/config
問題を修正する必要があります
Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/client/id_rsa
ForwardAgent yes
Host me.github.com
HostName github.com
User git
IdentityFile ~/.ssh/midhun/id_rsa
ForwardAgent yes
更新1:2020年5月5日
あなたの場合、それが機能しない可能性がある理由は、ホスト上のエージェントのキーが少ないためです。
あなたはそれを使用して確認することができます
$ ssh-add -L
$ ssh-add -l
エージェントは、メモリにあるキーのみを転送し、ディスクには転送しません。そうしないと、そこにあるすべてのキーを許可なしに公開するリスクがあります。必要なことは、起動時にこれらのキーをssh-agentに追加することです。
$ ssh-add ~/.ssh/client/id_rsa
$ ssh-add ~/.ssh/midhun/id_rsa
次に、ssh-add -L
HostとInsider Dockerターミナルでは、両方のキーが表示されます。そしてssh-agentも動作します