小编Pun*_*aik的帖子

为什么启用“RequestTTY force”选项后 SCP 会失败?

在我的 SSH 配置文件中,RequestTTY force出于某些重要原因,我必须启用。目前我的配置文件如下所示:

Host x.x.x.x
    HostName yyyy
    StrictHostKeyChecking no
    RequestTTY force
    IdentityFile ~/path/id_rsa
Run Code Online (Sandbox Code Playgroud)

但是现在当我执行一个scp命令时,它会完成但在目标路径上创建一个空文件,下面是它生成的日志:

debug2: channel 0: read<=0 rfd 4 len 0
debug2: channel 0: read failed
debug2: channel 0: close_read
debug2: channel 0: input open -> drain
debug2: channel 0: ibuf empty
debug2: channel 0: send eof
debug2: channel 0: input drain -> closed
debug2: channel 0: write failed
debug2: channel 0: close_write
debug2: channel 0: send eow
debug2: channel 0: output open -> …
Run Code Online (Sandbox Code Playgroud)

ssh scp openssh tty files

4
推荐指数
2
解决办法
3986
查看次数

创建具有特定内容的固定大小的文件

我想创建一个固定大小(1G、10G、100G 等)的文件,每行都有一个长度在指定限制内​​的随机单词。我基本上希望它运行一个基准测试,它将对整个文件进行排序。

因此,如果我想要一个文件1G并且字长限制为假设4,文件示例将如下所示:

a
bc
def
ghij
Run Code Online (Sandbox Code Playgroud)

这里单词的长度将在范围内1-4并且不会超过4并且该文件最终将具有1G

注意:这个词也可以是固定大小的。不会有问题的。

我将如何能够做到这一点?

command-line bash io files

3
推荐指数
1
解决办法
1247
查看次数

如何通过 SSH 运行 subshel​​l 命令?

我有一组通过无密码 SSH 连接的计算机,我编写了一个实用程序,可以在整个集群上运行命令。它的方法是选取文件中存在的机器,在运行通过 SSH 指定的命令时循环它们。

现在我想在集群上运行一个 kill 命令。我这样做的方法是grep输入进程 ID,然后像这样运行 kill 命令:

kill -9 $(ps -ef | grep service_name | awk '{print $2}')
Run Code Online (Sandbox Code Playgroud)

但是当我运行这个命令时,它在一台机器上循环,执行命令,在第二台机器上循环,甚至不执行命令就退出。所以命令最终只在一台机器上执行。

我读了一点,发现cmd1 $(cmd2)通过 SSH 运行的subshel​​l 命令无法正确执行。

谁能给我一个解决方法。

shell bash ssh subshell

1
推荐指数
2
解决办法
4007
查看次数

标签 统计

bash ×2

files ×2

ssh ×2

command-line ×1

io ×1

openssh ×1

scp ×1

shell ×1

subshell ×1

tty ×1