这个问题很相似,但我正在经历相反的情况。SFTP有效,但我还没有使用连接SSH。
我正在使用一个config
文件,并且能够通过 sftp 传输到远程服务器。本地机器是Linux,远程服务器是CentOS。
sftp foobar_remote
config
Host foobar_remote
HostName foobar.biz
Port 2222
User bizz
IdentityFile local/bizzbuzz/id_rsa
在我的本地计算机上,我位于与id_rsa
ssh -i id_rsa [email protected]
我仍然收到提示[电子邮件受保护]密码。
回复评论后
我现在使用不同的密钥 (id_rsa),并且不再提示我输入密码。现在,我得到以下回复
Welcome to foobar.biz
shell request failed on chananel 0
答案1
sftp
并ssh
连接到相同的sshd
.如果可以的话连接有了一个,你就可以和另一个在一起。区别在于程序sshd
调用的内容,sftp 服务器(8)或您的登录 shell。
我怀疑您的登录 shell 未安装或不允许在远程计算机上安装。 shell 请求失败听起来很像execvp(shell, args)
返回了一个错误。
要进行测试,请尝试显式调用其他一些已知的可执行文件和您的 shell,
$ ssh remote /bin/date
$ ssh remote /usr/bin/bash # or whatever
如果一个有效而另一个失败,那么您就已经隔离了您的问题。