SSH登录卡在‘Last login‘提示界面的一种原因

以前解决过SSH登录卡顿的问题,它一般来源于:

  1. GSSAPIAuthentication
  2. UseDNS

以上设置项被默认打开或意外打开。

而这次遇到的问题不是卡顿,而是卡在‘Last login’,停止在那里,一直不动!偶尔间操作了‘Ctrl + C’, 竟然可以摆脱卡住状态,进入到ssh已登录完成的提示界面。。。

最开始一直试图想获取登录过程的执行堆栈,以利于查看到底卡顿在什么地方,但是,一直没有觅得方法。

后来,搜索一些网络博文,看到一些文章,也同样介绍了卡在'Last login'界面的故障,然后用‘Ctrl + C’结束掉卡停状态,在出现命令提示符后,执行‘~/.bashrc’脚本,完成环境变量设置,以便于后期执行其他shell操作。

但是,博文并未说明造成卡住的原因何在?以及也并未给出完美的解决之道,总不能每次都这么麻烦地操作吧?!

带着怀疑和在不经意状态,随便试了下‘source ~/.bashrc’,发现命令竟然卡住了!

利用bash -x ~/.bashrc发现具体卡住的代码行,发现是意外在‘~/.bashrc’中添加了'dd'命令!

因为在ssh登录过程中,登录过程同样要执行~/.bashrc脚本,所以,我们所经历的卡住现象,可能都是源于可能由于用‘vi’编辑~/.bashrc时的一些意外输入,例如,删除行时,不经意留下的键盘输入‘dd’ !

在引述文章的基础上,进一步说明引起ssh登录卡在‘Last login’的原因 :)

引起故障脚本


# in ~/.bashrc script file


# some code

# 引起卡住、卡停、不动的意外键盘输入
dd

export SOME_ENV1=VALUE1

故障现象


ssh root@centos7
Last login: Tue Jul 12 08:53:00 2022 from 192.168.31.125
^C记录了0+0 的读入
记录了0+0 的写出
0字节(0 B)已复制,13.1384 秒,0.0 kB/秒
[root@ftptransfer ~]# 
 

你可能感兴趣的:(笔记,ssh,登录卡住,卡在,卡住,登录)