通过 ssh 连接 docker 中的 dsm
之前我们在 在 docker 中安装 DSM 安装了 DSM,现在我们需要通过 ssh 连接到 DSM 中,本文将介绍如何通过 ssh 连接到 DSM 中。
由于 DSM 是搭建在 docker 下的,所以我们要连接到 DSM 大概思路如下
- 通过 ssh 连接到宿主机
- 再通过宿主机 ssh 连接本地端口登录到 DSM
有点繁琐,简化一下操作,通过宿主机建立一个 ssh jump server,然后通过 ssh jump server 连接到 DSM,这样一步就完成了登录 DSM
关于 ssh jump server 的搭建流程可以查看这篇博客 通过 ssh 桥接方式连接远程 docker 中的 ubuntu, 这里不再赘述
配置
需要先打开 DSM 的 ssh 服务
打开 DSM
控制面板
->终端机和 SNMP
->终端机
->启用 SSH 服务
修改 docker-compose.yml
1
2
3
4
5services:
dsm:
# ...
ports:
- 3456:22重启 DSM
1
docker-compose restart dsm
创建 home 目录
因为 ssh 登录后默认会进入到用户的 home 目录,所以我们需要创建一个用户所对应的 home 目录
这一步需要在 DSM 中完成,操作非常简单,只需要安装
Synology Photos
即可,安装完成后会自动创建 home 目录配置 ssh 公钥
将你的公钥写入到
/var/services/homes/<username>/authorized_keys
文件中1
vim /etc/ssh/sshd_config
1
2
3
4Match User <username>
AuthorizedKeysFile /var/services/homes/<username>/authorized_keys
PasswordAuthentication no
PubkeyAuthentication yes修改宿主机 ssh 跳板
这一步可以参考 通过 ssh 桥接方式连接远程 docker 中的 ubuntu 完成
1
sudo vim /etc/ssh/sshd_config
1
2
3
4Match User dsm
AuthorizedKeysFile /home/app/.ssh/authorized_keys
PasswordAuthentication no
PubkeyAuthentication yes配置客户端 ssh
这一步可以参考 通过 ssh 桥接方式连接远程 docker 中的 ubuntu 完成
1
vim ~/.ssh/config
1
2
3
4
5
6
7
8
9
10
11
12Host 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连接 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 进行许可。
评论