通过 ssh 连接 docker 中的 dsm

CListery ARE YOU OK?

之前我们在 在 docker 中安装 DSM 安装了 DSM,现在我们需要通过 ssh 连接到 DSM 中,本文将介绍如何通过 ssh 连接到 DSM 中。

由于 DSM 是搭建在 docker 下的,所以我们要连接到 DSM 大概思路如下

  1. 通过 ssh 连接到宿主机
  2. 再通过宿主机 ssh 连接本地端口登录到 DSM

有点繁琐,简化一下操作,通过宿主机建立一个 ssh jump server,然后通过 ssh jump server 连接到 DSM,这样一步就完成了登录 DSM

关于 ssh jump server 的搭建流程可以查看这篇博客 通过 ssh 桥接方式连接远程 docker 中的 ubuntu, 这里不再赘述

配置

  1. 需要先打开 DSM 的 ssh 服务

    打开 DSM 控制面板 -> 终端机和 SNMP -> 终端机 -> 启用 SSH 服务

  2. 修改 docker-compose.yml

    1
    2
    3
    4
    5
    services:
    dsm:
    # ...
    ports:
    - 3456:22
  3. 重启 DSM

    1
    docker-compose restart dsm
  4. 创建 home 目录

    因为 ssh 登录后默认会进入到用户的 home 目录,所以我们需要创建一个用户所对应的 home 目录

    这一步需要在 DSM 中完成,操作非常简单,只需要安装 Synology Photos 即可,安装完成后会自动创建 home 目录

  5. 配置 ssh 公钥

    将你的公钥写入到 /var/services/homes/<username>/authorized_keys 文件中

    1
    vim /etc/ssh/sshd_config
    1
    2
    3
    4
    Match User <username>
    AuthorizedKeysFile /var/services/homes/<username>/authorized_keys
    PasswordAuthentication no
    PubkeyAuthentication yes
  6. 修改宿主机 ssh 跳板

    这一步可以参考 通过 ssh 桥接方式连接远程 docker 中的 ubuntu 完成

    1
    sudo vim /etc/ssh/sshd_config
    1
    2
    3
    4
    Match User dsm
    AuthorizedKeysFile /home/app/.ssh/authorized_keys
    PasswordAuthentication no
    PubkeyAuthentication yes
  7. 配置客户端 ssh

    这一步可以参考 通过 ssh 桥接方式连接远程 docker 中的 ubuntu 完成

    1
    vim ~/.ssh/config
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Host app
    HostName <host>
    Port 22
    User dsm
    IdentityFile ~/.ssh/id_rsa

    Host docker_dsm
    HostName 0.0.0.0
    Port 3456
    User <username>
    IdentityFile ~/.ssh/id_rsa
    ProxyCommand ssh -q -W %h:%p app
  8. 连接 DSM

    1
    ssh docker_dsm
  • 标题: 通过 ssh 连接 docker 中的 dsm
  • 作者: CListery
  • 创建于 : 2023-12-06 15:41:41
  • 更新于 : 2024-11-15 15:53:32
  • 链接: http://clistery.github.io/2023/12/06/dsm/access-dsm-ssh/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论
目录
通过 ssh 连接 docker 中的 dsm