首页   注册   登录

leoleoasd

V2EX 第 273477 号会员,加入于 2017-12-09 22:10:43 +08:00
leoleoasd 最近回复了
@yuikns #22 发现了个曲线救国的方式 能用 6 楼的方式实现 scp:
authorized_keys:
command="ID=CONTAINER_ID /path/to/.sh" ...key...

.sh 文件的内容:
```
#!/bin/bash

vars=( $SSH_ORIGINAL_COMMAND )
case "${vars[0]}" in
"scp")
docker exec -i $ID /usr/bin/scp -t ${vars[2]}
exit 0
;;
*)
docker exec -it $ID /bin/bash
exit 0
;;
esac
```
这样子 只需要容器内有一个 scp 二进制文件就可以传输文件 不需要容器内运行 sshd
可以所有容器公用一个端口 通过不同的 key 来分辨不同的 docker 容器
@yuikns #22 不可以
但是 我想要的是 不在 docker 内安装 sshd
@yuikns 成功了
@yuikns #12 我目前需要的效果是不在 docker 内跑 sshd
6 楼给的方法我测试了下春耕拱了
@ETiV #6 刚测试了下这样子用 VI 换行是没有问题的
@cxyfreedom #4 ssh 链接主机 主机转发到 docker exec 中的 bash 里
问题是那种 vi 啥的 docker 内的程序怎么读取 ssh 客户端的窗口大小
@zeromake #5 这样子的话容器内的程序 如 vi 能否读取到窗口的长宽?
@ETiV #6 这个 command 是否会覆盖 /etc/passwd 中的设置?
比如我为了安全期间 /etc/passwd 中设置为 nologin 然后 command 写 docker exec
29 天前
回复了 xiaochocking 创建的主题 程序员 SSH 怎么念
ssr:
Ass Ass AHH~~~
关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3035 人在线   最高记录 5043   ·  
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.3 · 8ms · UTC 10:41 · PVG 18:41 · LAX 03:41 · JFK 06:41
♥ Do have faith in what you're doing.
沪ICP备16043287号-1