tomy_125: Note

tomy_125 の個人的なメモ

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 の常駐方法については、こちらを参考にしました。

Dockerコンテナでsystemd無しのSSH - Qiita