🍣
macOS の Docker で ssh-agent を使用する
前提
- コンテナ上から ssh する必要があったので調査。
- Docker のイメージはとりあえず kroniak/ssh-client を使用する。
- 動作確認なので、
~/.ssh
を何も考えずマウントしちゃう。
やり方
docker-compose.yml
version: '3'
services:
ssh:
image: kroniak/ssh-client
volumes:
- ${HOME}/.ssh:/root/.ssh:ro
- type: bind
source: /run/host-services/ssh-auth.sock
target: /run/host-services/ssh-auth.sock
environment:
- SSH_AUTH_SOCK=/run/host-services/ssh-auth.sock
% docker-compose run --rm ssh bash
Creating docker-ssh_ssh_run ... done
bash-5.0# ssh oppara.tv
Last login: Thu Apr 8 00:00:00 2021 from example.net
[oppara@web ~]$ whoami
oppara
環境
% sw_vers
ProductName: Mac OS X
ProductVersion: 10.15.7
BuildVersion: 19H524
% docker --version
Docker version 20.10.5, build 55c4c88
Discussion