我正在使用带有以下命令的scp和ssh连接,但不断收到"被信号1杀死"的错误。
SCP 示例:
$ scp -q '-oProxyCommand=ssh -W %h:%p {user}@{jump_server}' /path/file.txt
{user}@{server2}:/tmp/
Killed by signal 1.
SSH 示例:
$ ssh -A -J {user}@{jump_server} -q -o BatchMode=yes -o ServerAliveInterval=10 {user}@{server2} 'ps -ef | grep mysql | wc -l 2>&1'
2
Killed by signal 1.
我尝试使用 -t:
$ ssh -t -A -J {user}@{jump_server} -t -q -o BatchMode=yes -o ServerAliveInterval=10 {user}@{server2} 'ps -ef | grep mysql | wc -l 2>&1'
2
Killed by signal 1.
我尝试使用日志级别:
$ ssh -o LogLevel=QUIET -A -J {user}@{jump_server} -q -o BatchMode=yes -o ServerAliveInterval=10 -o LogLevel=QUIET {user}@{server2} 'ps -ef | grep mysql | wc -l 2>&1'
2
Killed by signal 1.
我尝试使用代理命令选项:
$ ssh -q -oProxyCommand="ssh -W %h:%p {user}@{jump_server}" -q -o BatchMode=yes -o ServerAliveInterval=10 {user}@{server2} 'ps -ef | grep mysql | wc -l 2>&1'
2
Killed by signal 1.
如何在 bash 脚本的命令行上禁止显示此错误消息?
将2>/dev/null
添加到 ssh 命令:
q -oProxyCommand="ssh -W %h:%p {user}@{jump_server}" 2>/dev/null
如果您需要查看错误,可以执行以下sed
:
$ ssh ... 2>&1 | sed '/^Killed by signal.*/d'