【发布时间】:2018-02-28 22:13:24
【问题描述】:
我发现我可以使用一个 bash 会话在另一个会话中打印文本,如下所示
echo './myscript' > /dev/pts/0 # assuming session 2 is using this tty
# or
echo './myscript' > /proc/1500/fd/0 # assuming session 2's pid is 1500
但是为什么文本./myscript 只打印不执行呢?我可以做些什么来以这种方式执行我的脚本吗?
(我知道这会引起很多批评,这可能会填补“不要那样做!”后面的任何答案,但我希望这样做的真正原因是自动向sshfs提供密码. 我正在使用本地 WDMyCloud 系统,它每晚在我关闭电源时都会删除我的.authorized_keys 文件。)
【问题讨论】:
-
有什么原因不能使用 FIFO 并从中读取密码?
-
@Cez :您的意思是在使 FIFO 重定向 ssh 以从中读取之后?喜欢
ssh myserver < myfifo?根据我最近的经验,ssh 命令似乎拒绝从重定向中读取密码。我不确定机制是什么,但我想这是一种安全措施。你知道吗? -
@Cez :我刚刚重复了我认为你提出的实验,使用我上面评论中给出的命令。没有效果。
-
我认为任何 ssh 相关的应用程序都不会接受来自标准输入的密码。你会更好地自动化密钥复制。
-
@JellicleCat 我添加了一个答案,告诉你我的意思