setsid后open /dev/tty的问题

pur_e 2014-01-21 10:43:20
最近在使用sshpass,远程登陆到多个主机执行命令,之前一直是可用的,但前几天,系统从aix5.3升级到了6.1,就有问题了,报错:
Permission denied, please try again.
Permission denied, please try again.
Permission denied (publickey,password,keyboard-interactive).

ssh加了-vvv打开日志,报错在:
debug1: read_passphrase: can't open /dev/tty: No such device or address

下载了sshpass和openssh的源码,调试了一下,确定问题是在setsid后,打开/dev/tty报错

问题:
1、/dev/tty打开是为了获取控制终端,setsid后脱离原控制终端,应该是不可以打开的,不过sshpass在setsid后,open了一个伪终端,来做为新会话的控制终端,就可以用了吧,linux和aix5.3都是可用的,aix6.1和hp-unix 11.31都不可用,是系统的实现问题吗?

2、有什么可用的修改方法吗?总不能自己修改个ssh来用吧。expect也不想用,有点麻烦

3、既然发贴了,顺便问一下stdin/stdout/stderr和控制终端的关系吧。我的理解是stdin/stdout/stderr就是挂在控制终端上,但控制终端可以额外接收EOF、ctrl+c等控制指令。
...全文
484 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

19,614

社区成员

发帖
与我相关
我的任务
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
  • 系统维护与使用区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧