ssh 命令的 -f(破折号 f,标志 f)有什么用途?

ssh 命令的 -f(破折号 f,标志 f)有什么用途?

-f几个月来我一直对这个选项感到困惑。该选项的用例是什么?

从联机帮助页:

-f      Requests ssh to go to background just before command execution.  This is useful if ssh is going to
        ask for passwords or passphrases, but the user wants it in the background.  This implies -n.  The
        recommended way to start X11 programs at a remote site is with something like ssh -f host xterm.

什么是“如果 ssh 要求输入密码或密码短语,但用户希望它在后台运行,那么这非常有用。” 确切的意思是?我根本不明白!-f当我被要求输入密码时,我认为提供与否没有任何区别。

ssh [email protected] "ls -l",没有区别。ssh -f [email protected] "ls -l"

有人可以帮助并消除我的疑虑吗?

答案1

如果您尝试在后台运行 ssh,例如

ssh user@host some_command &

ssh 将是停止了当它尝试从终端读取密码或密码短语时,通过SIGTTIN信号,它将无法进一步继续。

但请注意,这ssh -f不会真正在背景,因为您不会在作业表中看到它,并且您将无法使用 回到前台fg:它在“后台”运行的方式就好像它是从 开始的setsid(1)

相关内容