写入无效别名后出现 SSH 连接问题

写入无效别名后出现 SSH 连接问题

我在远程机器上创建了一个新别名/.bashrc,自从我创建了它并关闭了会话后,我就无法使用 shh 协议再次登录了。正如您在代码中看到的那样,当我尝试登录时,机器会提示别名错误,它不允许您输入任何内容,几分钟后连接就会关闭。

name@user2:~$ ssh [email protected]
[email protected] password: 
/home/user/.bashrc: line 18: alias: /data/user/remotename/software/env-shell.sh: not found

Connection closed by UNKNOWN port 65432

我想知道是否有一种无需直接访问远程机器的解决方案?

Pd:我无法再删除别名,而且我不能 100% 确定问题是由于别名引起的。

答案1

如果问题出在您的 ~/.bashrc 文件中,则以下任何一种方法都应该有效:

  1. 打开一个交互式 bash shell 来代替默认的登录 shell,但跳过 rc 文件

    ssh -t [email protected] 'bash --norc'
    
  2. 打开一个不读取 ~/.bashrc 的其他交互式 shell

    ssh -t [email protected] '/bin/sh'
    
  3. 打开远程用户的 ~/.bashrc 进行直接编辑,这样你就可以修复它

    ssh -t [email protected] 'nano ~/.bashrc'
    

请求-t分配一个 tty,以便您无需调用通常的登录 shell 即可执行交互式命令。

相关内容