首页 > 其他分享 >SUSE SSH报错:cannot read from H\203\354\030\276\001 或 EOF reading /dev/urandom

SUSE SSH报错:cannot read from H\203\354\030\276\001 或 EOF reading /dev/urandom

时间:2022-09-29 12:04:30浏览次数:57  
标签:203 SUSE EOF dev 报错 urandom reading root


问题说明

在客户那边suse12环境中安装Oracle 11g RAC,在做ssh互信那一步时报错无法建立互信。通过查看日志文件和自己手动ssh发现报错信息如下:

cannot read from H\203\354\030\276\001 

后来我在自己的测试的SUSE 12环境中模拟这个报错信息是:

EOF reading /dev/urandom

当时看到这个错误信息一脸懵逼,看不懂​​H\203\354\030\276\001​​​这是啥玩意。然后​​strace​​​命令跟踪后发现,最后一步是在读取​​/dev/urandom​​这个文件时报错异常退出

close(4)                                = 0
close(3) = 0
ioctl(0, TCGETS, {B38400 opost isig icanon echo ...}) = 0
stat("/dev/urandom", {st_mode=S_IFCHR|0666, st_rdev=makedev(1, 3), ...}) = 0
open("/dev/urandom", O_RDONLY) = 3
read(3, "", 6) = 0
close(3) = 0
write(2, "EOF reading /dev/urandom\r\n", 26EOF reading /dev/urandom
) = 26
exit_group(255) = ?
+++ exited with 255 +++

所以发现可能时权限问题,但是客户说这个系统是新装的(之前已经装过一次一模一样的环境都是正常的),纳闷了,和正常节点对比也没发现什么问题。

test65:~ # ll /dev/urandom
crw-rw-rw- 1 root root 1, 3 Dec 29 09:16 /dev/urandom

后来发现这种特殊的文件,权限如果发生变化,只能通过把原有问题删除,并通过​​mknod​​命令重新创建该文件。

解决方法:

rm /dev/random 
rm /dev/urandom
mknod -m 644 /dev/random c 1 8
mknod -m 644 /dev/urandom c 1 9
chown root:root /dev/random /dev/urandom

执行以上命令后即可解决问题。


标签:203,SUSE,EOF,dev,报错,urandom,reading,root
From: https://blog.51cto.com/u_12946336/5722438

相关文章