我使用一些使用paramiko库连接远程机器的代码。通过绑定到其中一个localhost端口的隧道ssh
连接建立连接。远程计算机上的默认shell为tcsh
,但我的代码要求它运行bash
。我已经测试了sshing一些简单的命令,它工作正常。
$ ssh localhost -p 2222 'echo $0'
tcsh
要更改登录shell,我已经添加到我的.tcshrc
文件中,后面两行:
setenv SHELL /bin/bash
exec /bin/bash --login
以下内容有效:
$ ssh localhost -p 2222
[user@remote ~]$ echo $0
/bin/bash
但不是以下内容:
$ ssh localhost -p 2222 'echo $0'
没有回应。与我想要使用的代码建立的与paramiko的连接相同。
目前我仅限于用户级解决方案,而不愿使用paramiko-using-code本身。还有什么我可以尝试的吗?