通过 SSH 从 putty 连接到 ubuntu 服务器时出现奇怪的问题

通过 SSH 从 putty 连接到 ubuntu 服务器时出现奇怪的问题

我有一个配置好的 Ubuntu Server 9.10 盒子sshd。我有两台安装了 Windows 7 专业版和 Putty 的计算机。前几天,两台计算机都能够通过 Putty 和 Plink 连接 Ubuntu 服务器。我已经sun-java6-jre在 Ubuntu 服务器上安装了,现在遇到了一个奇怪的问题。第一台 Windows 7 计算机仍然可以使用 Putty GUI 和命令行进行连接plink。第二台计算机可以通过 Putty GUI 连接,但如果我发出plink在第一台计算机上完美运行的命令:

plink www.hostname.tk -i c:\users\username\documents\key\private.ppk

我收到login提示,输入与第一台计算机上相同的用户名,并收到以下奇怪的错误消息:

bash: www.hostname.tk: command not found

我看不出我的 Windows 7 计算机之间有任何区别 :(。ppk使用的密钥是相同的(我多次复制了它)。hostname并且username是相同的。有人知道为什么会发生这样的事情吗?我该怎么做才能排除故障并修复它?

更新:

不显示的日志plink -v

Offered public key
Offer of public key accepted
Authenticating with public key "imported-openssh-key"
Access granted
Opened channel for session
Started a shell/command
bash: www.hostname.tk: command not found
Server sent command exit status 127
Disconnected: All channels closed

答案1

您可以尝试运行plink -v并发布该输出吗?下面我将命令更改为 echo $PATH:

C:\Documents and Settings\dave>plink 10.0.1.1 -v /bin/echo $PATH
Looking up host "10.0.1.1"
Connecting to 10.0.1.1 port 22
Server version: SSH-2.0-OpenSSH_5.1p1 Debian-6ubuntu2
We claim version: SSH-2.0-PuTTY_Release_0.60
Using SSH protocol version 2
Doing Diffie-Hellman group exchange
Doing Diffie-Hellman key exchange with hash SHA-256
Host key fingerprint is:
ssh-rsa 2048 4a:84:5d:a8:a2:29:95:c0:4e:92:d1:38:68:e6:2b:5f
Initialised AES-256 SDCTR client->server encryption
Initialised HMAC-SHA1 client->server MAC algorithm
Initialised AES-256 SDCTR server->client encryption
Initialised HMAC-SHA1 server->client MAC algorithm
login as: dmo
[email protected]'s password:
Sent password
Access granted
Opened channel for session
Started a shell/command
Server sent command exit status 0
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
Disconnected: All channels closed

答案2

好吧,看到 PC 1 可以同时使用两者进行连接,可以说您的服务器仍然在运行并且没有出现异常。

如果我是你,我会去研究 PC 2,看看它与 PC 1 有什么不同。新的防火墙更新,不同的防火墙软件?

答案3

我怀疑 、 、 、 或 中的某些内容/etc/profile~/.bash_profile错误~/.bash_login~/.profile作为/etc/bash.bashrc命令或或的结果~/.bashrc执行。在一行中(或在(一组额外的)反引号 或 内)查找其中一个。如果是这种情况,我不知道为什么在一台客户端计算机上会这样,而在另一台计算机上不是这样,也不知道这与您安装 Java 有什么关系。$HOSTNAME`hostname`$(hostname)$()

相关内容