确定 ssh rc 内是否处于交互式会话与非交互式会话(即 scp)

确定 ssh rc 内是否处于交互式会话与非交互式会话(即 scp)

~/.ssh/rc我在远程计算机上设置了 ssh rc ( ) 以启动ssh-agent并且ssh-add存在任何公钥。当我尝试scp连接这台机器时,它会尝试提示输入密码,然后会scp失败并退出。

理想情况下,我希望ssh-agentssh-add只发生在交互式 ssh 会话中。 ssh rc 中有没有办法确定会话是否是交互式的,并有选择地运行(或不运行)某些命令作为响应?

答案1

只需检查环境变量是否SSH_TTY设置即可。看如何在~/.ssh/rc中区分ssh和scp?

相关内容