如果我连接到 ssh 服务器并发现用户名有误,当服务器提示我输入密码时,我该如何取消会话?
我知道的唯一方法是按ctrl+c来终止 ssh 进程,有没有更好的方法?
我不一定需要取消会话,只需更改用户名。
答案1
你不能。
来吧,我是说真的 - 再做一次 - 它真的没有那么糟糕。=)
答案2
首先不要输入用户名。只需输入主机名。如果您的用户名在远程主机上不同,请将用户名放入 .ssh/config 中,如下所示。
Host hostname
User remote_username
在你这样做的时候,配置ssh 密钥所以您不必输入密码。
答案3
我非常确定没有办法做到这一点。如果您觉得自己很自虐,并在用户空间中启动服务器端的 sshd 守护程序并打开调试日志记录,您就会看到它。我手头没有任何日志示例,但它所做的是获取用户名,之后的任何内容都用于验证用户名。更改用户名的唯一方法是终止会话并重新连接。每个会话只有一次机会。
答案4
SSH 2 以下版本不支持在身份验证阶段更改用户名。但是,大多数 SSH 客户端都不支持该协议的此功能(我还没有找到真正支持的客户端)。