Dockerコンテナにssh接続
とりあえずメモ。ssh ノンパスを設定したコンテナへの接続。
ホストのssh鍵作成
ssh-keygen
コンテナのホスト鍵作成
ssh-keygen -t rsa -N "" -f ./ssh_host_rsa_key ssh-keygen -t dsa -N "" -f ./ssh_host_dsa_key ssh-keygen -t ecdsa -N "" -f ./ssh_host_ecdsa_key ssh-keygen -t ed25519 -N "" -f ./ssh_host_ed25519_key tar zvcf ssh_host_keys.tar.gz ssh* ls -l ssh*
Dockerfile
FROM oraclelinux:7 RUN yum install -y openssh-server RUN echo "#PermitRootLogin yes" >> /etc/ssh/sshd_config #### root のログインを許可 RUN mkdir -p /root/.ssh/ RUN echo "ssh-rsa ********" >> /root/.ssh/authorized_keys #### ホストの公開鍵 COPY ./ssh_host_keys.tar.gz /etc/ssh/ RUN tar zxf /etc/ssh/ssh_host_keys.tar.gz -C /etc/ssh/ #### 事前にコンテナのホスト鍵を作成しておき展開 CMD /usr/sbin/sshd && tail -f /dev/null
Build
docker build ./ --tag ol7ssh
RUN
docker run -d --rm -p 127.0.0.1:10022:22 ol7ssh
ssh接続
ssh root@127.0.0.1 -p 10022
参考
sshd の常駐方法については、こちらを参考にしました。