SUSE ssh登录慢解决办法,ssh登录失败,但是strace一下就好了的分析查询 第一次ssh,路由的问题

简介:

Ok的示例:

  1. strace -o t  ssh -l webdev 172.27.30.141   


SUSE刚装完,开始用ssh的时候,总会遇到这样的问题:输入了用户名以后,等半天才出输入密码的框,很是急人。这是dns反查造成的。
解决方法:编辑 /etc/ssh/sshd_conf , 将 #UseDNS yes 取消注释,设为no ,重启sshd
( /etc/rc.d/sshd restart)


UseDNS no  //这儿不能写为:No,大写,会出错的

然后:
/etc/rc.d/sshd restart





用户第一次链接新的sshd时,可能出现下面这种错误:

> ssh wcw@192.168.1.100
Host key not found from database.
Key fingerprint:
xofiz-zilip-tokar-rupyb-tufer-tahyc-sibah-kyvuf-palik-hazyt-duxux
You can get a public key's fingerprint by running
% ssh-keygen -F publickey.pub
on the keyfile.
warning: tcsetattr failed in ssh_rl_set_tty_modes_for_fd: fd 1: Interrupted system call

解决办法是用:
strace -o t ssh wcw@192.168.1.100

也就是前面加上“strace -o t”,-o的意思如下:
-o file -- send trace output to FILE instead of stderr

这样就可以成功登录,然后退出后用正常的登录办法即可。前面生成的文件t也可以删掉了。
为什么加上strace就可以,具体是什么道理也没搞明白。该方法是google来的,具体链接已经找不到了。。。

  1. strace -o t  ssh -l  admin 172.17.150.17*  


Host key not found from database.
Key fingerprint:
xuror-ledab-buhim-zohok-tanop-cyrig-tysac-gyhyp-refan-semim-pyxex
You can get a public key's fingerprint by running
% ssh-keygen -F publickey.pub
on the keyfile.
Are you sure you want to continue connecting (yes/no)?

好像用这个也成:

  1. ssh -lroot -p36000 10.160.**.** -q  


原因:
strace就是用来跟踪系统跳用和信号的。
这应该是ssh的bug。如果用strace调试的话,这个工具可以影响到信号处理,估计这样一搞就能让你有机会完成getkey之类的动作。
然后,下次再运行的时候本地也就会有正确的配置了。

深层分析:
首先要开ssh服务,查看一下。。

root@unbuntu:/etc# ps -ef |grep ssh
root 3996 1 0 13:51 ? 00:00:00 /usr/sbin/sshd
root 4463 3996 0 15:04 ? 00:00:00 sshd: nova [priv]
sshd 4464 4463 0 15:04 ? 00:00:00 sshd: nova [net]
root 4466 4310 0 15:04 pts/1 00:00:00 grep ssh
root@unbuntu:/etc# strace -p 4464

Process 4464 attached – interrupt to quit
select(4, [3], NULL, NULL, NULL) = 1 (in [3])
read(3, “\210\270\232z-\231lh,\341_\377\351\22X.tNVHFw\25=\310\235″…, 8192) = 144
write(4, “\0\0\0\17\v”, 5) = 5
write(4, “\0\0\0\nnovaserver “, 14) = 14
read(4, “\0\0\0\5″, 4) = 4
read(4, “\f\0\0\0\1″, 5) = 5
write(4, “\0\0\0\0011″, 5) = 5
read(4, “\0\0\0\t”, 4) = 4
read(4, “2\0\0\0\1\0\0\0\0″, 9) = 9
write(3, “\243\273r<\267\245F\374\201H(|~>f\36\337\306\367\341\374″…, 32) = 32
write(4, “\0\0\5/\31″, 5) = 5
write(4, “\0\0\0 \206\347\3\357\16\223\315\23_\267;\32\231\325\263″…, 1326) = 1326
exit_group(0) = ?
Process 4464 detached
上面解析到的就是我的ssh服务的密码,对应的用户是nova… [好害怕...]

上面这些需要开一个ssh的client来验证…

nova@unbuntu:~$ ssh 192.168.150.244 [回车]
nova@192.168.150.244’s password: [确认对端已经监听,解析 strace -p pid ]
Linux unbuntu 2.6.24-19-server #1 SMP Wed Jun 18 15:18:00 UTC 2008 i686

The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.

To access official Ubuntu documentation, please visit:
http://help.ubuntu.com/
Last login: Mon Nov 24 15:02:44 2008 from 192.168.150.244
nova@unbuntu:~$

剩下的,你就可以看你的密码了,其实还有别的工具,truss…


CentOs5.5实际简单示例:

    1. ssh -lroot -p36000 10.160.**.** -q  
    2. yum install strace  
    3. Installed:  
    4.   strace.i386 0:4.5.18-5.el5_5.5  
    5. Complete!  
    6.   
    7. [root@jackxiang ~]# ps aux|grep ssh  
    8. root      1866  0.0  0.2   7208   756 ?        Ss   Jun18   0:00 /usr/sbin/sshd  
    9. root      5305  0.4  0.9  10036  2872 ?        Ss   10:08   0:00 sshd: root@pts/                                                                                                 0  
    10. root      5338  0.0  0.2   3996   692 pts/0    D+   10:09   0:00 grep ssh  
    11.   
    12. strace -p 5305  
    13. select(9, [3 5 8], [3], NULL, NULL)     = 2 (in [8], out [3])  
    14. rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0  
    15. rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0  
    16. read(8, "\"\\\"\\\\\\\"\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\"..., 16384) = 370  
    17. write(3, "\251\\+K\256b\325v\270\27\202\vXQ\246\331\211\234\340a}\271\371\203\344\226>\5|\370}\341"..., 420) = 420  
    18. select(9, [3 5 8], [3], NULL, NULL)     = 2 (in [8], out [3])  
    19. rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0  

本文转自博客园知识天地的博客,原文链接:SUSE ssh登录慢解决办法,ssh登录失败,但是strace一下就好了的分析查询 第一次ssh,路由的问题,如需转载请自行联系原博主。

相关文章
|
3月前
|
JavaScript 应用服务中间件 Linux
【应用服务 App Service】解决无法从Azure门户SSH登录问题
【应用服务 App Service】解决无法从Azure门户SSH登录问题
|
5月前
|
分布式计算 Hadoop 网络安全
杨校老师课堂之集群内SSH免密登录功能配置
杨校老师课堂之集群内SSH免密登录功能配置
40 0
|
3月前
|
机器学习/深度学习 存储 Linux
【机器学习 Azure Machine Learning】使用VS Code登录到Linux VM上 (Remote-SSH), 及可直接通过VS Code编辑VM中的文件
【机器学习 Azure Machine Learning】使用VS Code登录到Linux VM上 (Remote-SSH), 及可直接通过VS Code编辑VM中的文件
|
3月前
|
安全 Shell Linux
如何禁止某个用户使用ssh登录
本文介绍了五种禁止用户通过SSH登录的方法:1) 修改`/etc/ssh/sshd_config`文件中的`DenyUsers`和`DenyGroups`来阻止特定用户或用户组登录;2) 将用户的默认shell设置为`/usr/sbin/nologin`或`/bin/false`以禁用其SSH访问;3) 利用PAM(可插入认证模块)通过编辑`/etc/security/sshd.conf`来限制登录权限;4) 通过编辑`/etc/hosts.deny`文件拒绝特定用户的SSH访问;5) 锁定或禁用用户账号以阻止所有类型的登录。每种方法都提供了详细的步骤指导。
396 1
|
3月前
|
存储 安全 测试技术
【超实用却暗藏杀机】sshpass:一键免密SSH登录的神器,为何生产环境却要敬而远之?探秘背后的安全隐患与替代方案!
【8月更文挑战第16天】sshpass 是一款便捷工具,可实现自动化SSH登录,简化脚本中的远程连接流程。通过后台自动处理密码输入,便于执行远程操作,如 `sshpass -p &#39;yourpassword&#39; ssh user@remotehost`。也可结合更多SSH选项使用,例如指定私钥文件。然而,因需明文传递密码,存在较大安全隐患,不适于生产环境;推荐使用公钥认证以增强安全性。
170 4
|
4月前
|
安全 Linux 网络安全
|
3月前
|
安全 Linux Shell
Linux系统之间实现免密码登录(SSH无密码登录
【8月更文挑战第21天】要在Linux系统间实现SSH免密码登录,需先在源机器生成SSH密钥对,然后将公钥复制到目标机器的`.ssh/authorized_keys`文件中。可通过`ssh-keygen`命令生成密钥,并使用`ssh-copy-id`命令传输公钥。最后测试SSH连接,确保能无密码登录。若目标机器缺少相关目录或文件,需手动创建并设置适当权限。完成这些步骤后,即可实现安全便捷的免密码登录。
108 0
|
3月前
|
Ubuntu Linux 网络安全
在Linux中,如何禁用root用户直接SSH登录?
在Linux中,如何禁用root用户直接SSH登录?
|
4月前
|
Shell 网络安全 数据安全/隐私保护
MacOS Sonoma14.2.1系统SSH免密登录
【7月更文挑战第9天】在MacOS Sonoma 14.2.1中设置SSH免密登录,包括:1) 使用`ssh-keygen`生成RSA密钥对;2) 使用`ssh-copy-id`将公钥传到远程主机;3) 用`ssh-add --apple-use-keychain`添加私钥到ssh-agent,并为重启后自动添加配置自动化脚本;4) 可选地,编辑`~/.ssh/config`设置别名简化登录。确保远程主机的`.ssh/authorized_keys`文件权限为600。
137 4
|
3月前
|
存储 安全 Linux
说到Linux安全,SSH限制IP登录绕不开这3种方法!
说到Linux安全,SSH限制IP登录绕不开这3种方法!
134 0