Dockerコンテナにssh経由でTrampしたくなった。実はsshを経由しなくてもコンテナにはTrampできるのだけれど、今回はsshdの挙動を確認する事が目的だったため、sshdを含むDockerイメージをビルドする事にした。
# image: frosted
FROM debian:bullseye-20230202-slim
LABEL maintainer "TakesxiSximada"
RUN apt-get update && \
apt-get install -y openssh-server
# rootを使うべきではない
RUN mkdir -p /root/.ssh
RUN mkdir -p /run/sshd
COPY authorized_keys /root/.ssh/authorized_keys
RUN chmod 600 -R /root/.ssh
COPY entrypoint.sh /
ENTRYPOINT ["bash"]
CMD ["/entrypoint.sh"]
# CMD ["/usr/sbin/sshd", "-d", "-D"] # sshdの挙動を確認する場合はこっちを使う
Dockerイメージをビルドする。
docker build -t frosted .
コンテナを起動する。ホスト側は9999で待ち受ける事にした。
docker run -p 9999:22 frosted
/ssh:root@localhost#22:/
でTrampできる。ポート番号の指定方法が特殊なので注意する。この差にハマった。