我在远程机器上创建了一个新别名/.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 文件中,则以下任何一种方法都应该有效:
打开一个交互式 bash shell 来代替默认的登录 shell,但跳过 rc 文件
ssh -t [email protected] 'bash --norc'
打开一个不读取 ~/.bashrc 的其他交互式 shell
ssh -t [email protected] '/bin/sh'
打开远程用户的 ~/.bashrc 进行直接编辑,这样你就可以修复它
ssh -t [email protected] 'nano ~/.bashrc'
请求-t
分配一个 tty,以便您无需调用通常的登录 shell 即可执行交互式命令。