我觉得这是一个完整的笨蛋 - 但我似乎无法将Terminal.app和SSH连接到非标准的SSH端口。我在山狮队。
我尝试了以下所有方法:
$ ssh myuser@mysite.com -p 42586
$ ssh myuser@mysite.com -p42586
$ ssh -p 42586 myuser@mysite.com
$ ssh -p42586 myuser@mysite.com
我似乎无法正确使用语法,所有上述操作都会产生错误。标志的正确顺序是什么?我已经检查了man
页面,并将其显示在[user] @ [domain]部分之前,但是,这也会引发错误。
修改
更多信息和原始终端输出:
$ ssh mysite.com -p42586
--hangs--
$ ssh mysite.com -p 42586
--hangs--
$ ssh -p42586 mysite.com
usage: grep [-abcDEFGHhIiJLlmnOoPqRSsUVvwxZ] [-A num] [-B num] [-C[num]]
[-e pattern] [-f file] [--binary-files=value] [--color=when]
[--context[=num]] [--directories=action] [--label] [--line-buffered]
[--null] [pattern] [file ...]
usage: ssh [-1246AaCfgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec]
[-D [bind_address:]port] [-e escape_char] [-F configfile]
[-I pkcs11] [-i identity_file]
[-L [bind_address:]port:host:hostport]
[-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port]
[-R [bind_address:]port:host:hostport] [-S ctl_path]
[-W host:port] [-w local_tun[:remote_tun]]
[user@]hostname [command]
$ ssh -p 42586 mysite.com
usage: grep [-abcDEFGHhIiJLlmnOoPqRSsUVvwxZ] [-A num] [-B num] [-C[num]]
[-e pattern] [-f file] [--binary-files=value] [--color=when]
[--context[=num]] [--directories=action] [--label] [--line-buffered]
[--null] [pattern] [file ...]
/usr/bin/ssh: option requires an argument -- p
usage: ssh [-1246AaCfgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec]
[-D [bind_address:]port] [-e escape_char] [-F configfile]
[-I pkcs11] [-i identity_file]
[-L [bind_address:]port:host:hostport]
[-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port]
[-R [bind_address:]port:host:hostport] [-S ctl_path]
[-W host:port] [-w local_tun[:remote_tun]]
[user@]hostname [command]
示例1和2挂起,直到超时。 3和4产生grep使用回声以及ssh使用回声。
编辑2:
感谢@topguncoder的建议,我的原始尝试是结肠符号 - 但这会产生不同的错误:
$ ssh myuser@mysite.com:42586
ssh: Could not resolve hostname mysite:42586: nodename nor servname provided, or not known
答案 0 :(得分:7)
尝试
"ssh" -p 42586 mysite.com
忽略您的alias
设置。看起来你可能会ssh
别名。如果此方法有效,则应检查.profile
是否有ssh
个别名。
答案 1 :(得分:2)
我相信在您的系统上,ssh
命令以某种方式被重新定义为grep
命令。试试这个:
alias | /usr/bin/grep ssh
你看到了什么?另外,试试这个:
/usr/bin/ssh -p 42586 myuser@mysite.com
你有成功的联系吗?如果ssh别名为别的东西。检查以下文件:
然后您可以删除别名,或使用绝对路径(例如/usr/bin/ssh
)