我对unix还很陌生,所以请跟我一起...
当我尝试通过 ubuntu 工作站上的终端连接到运行 ubuntu 服务器的服务器时,出现此错误:
bash: 22: command not found
我输入的连接命令是:
ssh user@ip 22
然后我收到要求用户输入密码的响应,输入后我会收到该错误提示。
我尝试通过以下方式重新安装 openssh-client:
sudo apt-get remove --purge openssh-client
sudo apt-get install openssh-client
还尝试更新我的存储库:-sudo apt-get update
可惜没有结果...
答案1
端口 22 是用于连接到 的标准端口sshd
。它是默认使用的,因此除非您已将远程主机配置为侦听 中的非标准端口sshd_config
,否则您需要做的就是ssh user@ip
。
例如,如果您的远程主机正在侦听端口 2222,则指定该端口的语法将为ssh -p 2222 user@ip
.看起来您正在尝试这样做ssh -p 22 user@ip
,但正如我所说,这是不必要的,因为 22 是 SSH 尝试连接的默认端口。
您的命令实际上正在执行的操作是尝试22
在远程主机上执行不存在的命令。命令后面的所有内容ssh
都被解释为要在远程主机上执行的命令(为了最佳实践,通常应用引号引起来)。例如,ssh user@ip hostname
将返回远程主机名,因为它正在远程计算机上执行该命令,然后退出 SSH 返回本地 shell。