首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用伪tty与ssh和控制主程序进行警告。

使用伪tty与ssh和控制主程序进行警告。
EN

Server Fault用户
提问于 2017-05-19 17:59:58
回答 2查看 745关注 0票数 2

我正在为我的一些用户设置以下内容。

  • A机,运行OpenSSH_6.6.1p1,OpenSSL 1.0.1e-fips
  • 机器B,运行OpenSSH_6.6.1p1 Ubuntu-2 ubuntu2.8,OpenSSL 1.0.1f
  • 这两台服务器都是Linux,我管理后者。

用户在这两台机器上都有帐户,他们从B到A手动使用ssh,例如输入ssh A并在A上工作,他们的~/.ssh/config看起来像:

代码语言:javascript
复制
Host *
ControlMaster auto
ControlPath /tmp/ssh_mux_%h_%p_%

在B上运行其他东西时,它们还(间接地)运行命令,比如ssh -tt A xxx (其中xxx是一些复杂的东西),因为在对B做任何事情时,它都需要找到一些需要以这种方式找到的东西。感谢控制大师,他们不会一直被密码请求所困扰(机器A不在我的控制之下,也不接受基于密钥的登录)。注意,xxx调用了一些如果我不使用-tt就无法工作的代码。您可能会声称这样的代码被破坏了,我可能也同意,但是强迫tty使它快乐。

所有操作都很好,但是它们打开的从B到A的手动连接会被消息乱扔(而且几乎无法使用):

代码语言:javascript
复制
process_mux_new_session: tcgetattr: Inappropriate ioctl for device

这似乎与https://stackoverflow.com/questions/1495776/https://bugzilla.mindrot.org/show_bug.cgi?id=1686有关

有没有办法让这些消息保持沉默,使第一个连接有用,而不需要打开另一个连接呢?

EN

回答 2

Server Fault用户

回答已采纳

发布于 2017-05-22 21:33:14

将@MarkWagner的评论提升到回答的状态。

根据bug中的修补程序,需要将-q添加到ssh调用中(我不确定哪个调用。)-5月19日19:42

根据一些快速测试,从B到A的手动连接似乎是需要-q的连接

票数 1
EN

Server Fault用户

发布于 2017-05-19 20:30:00

我会在服务器上查找MaxSessions -A

代码语言:javascript
复制
grep MaxSessions /etc/ssh/sshd_config

和客户机上的~/..ssh/config ControlPersist超时

代码语言:javascript
复制
Host *
ControlMaster auto
ControlPath /tmp/ssh_mux_%h_%p_%r
ControlPersist 10m

您还可能更喜欢ControlPath ~/tmp/ssh_mux_%h_%p_%r,以防止用户覆盖对方的文件。

此外,控制路径使用主机名'%h‘,这在调用时可能会有所不同。

另一种可能的解决方案是调整终端设置。

代码语言:javascript
复制
ssh server_A TERM=tn3270 /opt/wierd/complex_command.cobol

甚至在屏幕https://www.youtube.com/watch?v=hB6Y72DK8mc https://www.rackaid.com/blog/linux-screen-tutorial-and-how-to/下运行

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/851186

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档