我正尝试使用SSH或SFTPlogin到远程计算机。
ssh [email protected] CLI只是不会回应。 我得到一个空白的新行,我可以input字符,但没有更多。 SFTP (我使用Transmit作为我的SFTP客户端),它只是永远挂起,并没有连接。 没有错误。 没有反应。
这个问题不是特定于frbit.com , frbit.com与我尝试连接的任何其他服务器保持一致。
用-vv标志运行ssh客户端我得到了以下输出:
debug1: Reading configuration data /Users/matanya/.ssh/config debug1: Reading configuration data /usr/local/Cellar/openssh/6.1p1/etc/ssh_config debug2: ssh_connect: needpriv 0 debug1: Connecting to ssh1.eu1.frbit.com [46.137.57.195] port 22. debug2: fd 3 setting O_NONBLOCK debug1: fd 3 clearing O_NONBLOCK debug1: Connection established. debug1: identity file /Users/matanya/.ssh/id_rsa type 1 debug1: identity file /Users/matanya/.ssh/id_rsa-cert type -1 debug1: identity file /Users/matanya/.ssh/id_dsa type 2 debug1: identity file /Users/matanya/.ssh/id_dsa-cert type -1 debug1: identity file /Users/matanya/.ssh/id_ecdsa type -1 debug1: identity file /Users/matanya/.ssh/id_ecdsa-cert type -1 debug1: Remote protocol version 2.0, remote software version OpenSSH_5.5p1 debug1: match: OpenSSH_5.5p1 pat OpenSSH_5* debug1: Enabling compatibility mode for protocol 2.0 debug1: Local version string SSH-2.0-OpenSSH_6.1 debug2: fd 3 setting O_NONBLOCK debug1: SSH2_MSG_KEXINIT sent debug1: SSH2_MSG_KEXINIT received debug2: kex_parse_kexinit: ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1 debug2: kex_parse_kexinit: [email protected],[email protected],ssh-rsa,[email protected],[email protected],[email protected],[email protected],[email protected],ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-dss debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,[email protected] debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,[email protected] debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,[email protected],hmac-sha2-256,hmac-sha2-512,hmac-ripemd160,[email protected],hmac-sha1-96,hmac-md5-96 debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,[email protected],hmac-sha2-256,hmac-sha2-512,hmac-ripemd160,[email protected],hmac-sha1-96,hmac-md5-96 debug2: kex_parse_kexinit: none,[email protected],zlib debug2: kex_parse_kexinit: none,[email protected],zlib debug2: kex_parse_kexinit: debug2: kex_parse_kexinit: debug2: kex_parse_kexinit: first_kex_follows 0 debug2: kex_parse_kexinit: reserved 0 debug2: kex_parse_kexinit: diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1 debug2: kex_parse_kexinit: ssh-rsa,ssh-dss debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,[email protected] debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,[email protected] debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,[email protected],hmac-ripemd160,[email protected],hmac-sha1-96,hmac-md5-96 debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,[email protected],hmac-ripemd160,[email protected],hmac-sha1-96,hmac-md5-96 debug2: kex_parse_kexinit: none,[email protected] debug2: kex_parse_kexinit: none,[email protected] debug2: kex_parse_kexinit: debug2: kex_parse_kexinit: debug2: kex_parse_kexinit: first_kex_follows 0 debug2: kex_parse_kexinit: reserved 0 debug2: mac_setup: found hmac-md5 debug1: kex: server->client aes128-ctr hmac-md5 none debug2: mac_setup: found hmac-md5 debug1: kex: client->server aes128-ctr hmac-md5 none debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP debug2: dh_gen_key: priv key bits set: 140/256 debug2: bits set: 543/1024 debug1: SSH2_MSG_KEX_DH_GEX_INIT sent debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY debug1: Server host key: RSA 31:4c:71:e0:56:14:04:0d:c7:b2:6c:fc:8a:42:33:2e debug1: Host 'ssh1.eu1.frbit.com' is known and matches the RSA host key. debug1: Found key in /Users/matanya/.ssh/known_hosts:2 debug2: bits set: 513/1024 debug1: ssh_rsa_verify: signature correct debug2: kex_derive_keys debug2: set_newkeys: mode 1 debug1: SSH2_MSG_NEWKEYS sent debug1: expecting SSH2_MSG_NEWKEYS debug2: set_newkeys: mode 0 debug1: SSH2_MSG_NEWKEYS received debug1: Roaming not allowed by server debug1: SSH2_MSG_SERVICE_REQUEST sent debug2: service_accept: ssh-userauth debug1: SSH2_MSG_SERVICE_ACCEPT received
更新:通过我的本地(SSH客户端机器) system.log我发现以下内容:
Mar 6 10:28:17 matanyas-imac com.apple.launchd.peruser.501[235] (org.openbsd.ssh-agent[574]): Exited with code: 1 Mar 6 10:28:17 matanyas-imac com.apple.launchd.peruser.501[235] (org.openbsd.ssh-agent): Throttling respawn: Will start in 10 seconds Mar 6 10:28:27 matanyas-imac com.apple.launchd.peruser.501[235] (org.openbsd.ssh-agent[575]): Exited with code: 1 Mar 6 10:28:27 matanyas-imac com.apple.launchd.peruser.501[235] (org.openbsd.ssh-agent): Throttling respawn: Will start in 10 seconds
Code 1代表什么?
更新:我发现在System/Library/LaunchAgents/org.openbsd.ssh-agent.plist launchd有问题的文件:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>org.openbsd.ssh-agent</string> <key>ProgramArguments</key> <array> <string>/usr/bin/ssh-agent</string> <string>-l</string> </array> <key>ServiceIPC</key> <true/> <key>Sockets</key> <dict> <key>Listeners</key> <dict> <key>SecureSocketWithKey</key> <string>SSH_AUTH_SOCK</string> </dict> </dict> <key>EnableTransactions</key> <true/> </dict> </plist>
当我运行/usr/bin/ssh-agent我得到:
SSH_AUTH_SOCK=/var/folders/pg/1g6_hnwx47bgqv5vcm1lq18h0000gn/T//ssh-01WuaHF32SlV/agent.2145; export SSH_AUTH_SOCK; SSH_AGENT_PID=2146; export SSH_AGENT_PID; echo Agent pid 2146;
至于-l标志( <string>-l</string> ),我的版本的ssh-agent没有这样的标志。 输出:
ssh-agent: illegal option -- l
ps aux | grep ps aux | grep ssh输出:
matanya 1121 0.0 0.0 2441136 3280 ?? S 1:53PM 0:00.01 ssh -oNumberOfPasswordPrompts 1 -2 -lu-indgo -s ssh1.eu1.frbit.com sftp matanya 1116 0.0 0.0 2441136 3280 ?? S 1:52PM 0:00.01 ssh -oNumberOfPasswordPrompts 1 -2 -lu-indgo -s ssh1.eu1.frbit.com sftp matanya 1101 0.0 0.0 2441136 3280 ?? S 1:51PM 0:00.01 ssh -oNumberOfPasswordPrompts 1 -2 -lu-indgo -s ssh1.eu1.frbit.com sftp matanya 1095 0.0 0.0 2441136 3280 ?? S 1:50PM 0:00.01 ssh -oNumberOfPasswordPrompts 1 -2 -lu-indgo -s ssh1.eu1.frbit.com sftp matanya 1084 0.0 0.0 2441136 3280 ?? S 1:50PM 0:00.01 ssh -oNumberOfPasswordPrompts 1 -2 -lu-indgo -s ssh1.eu1.frbit.com sftp matanya 1593 0.0 0.0 2439184 2092 s000 S+ 2:36PM 0:00.00 grep ssh
SSH版本:OpenSSH_5.8p2,OpenSSL 0.9.8r 2011年2月8日
更新:我已经发现,与我最初在系统启动时login哪个用户无关紧要 – 无论是我自己的还是root用户, ssh都不会工作,直到我明确地切换terminal中的用户( su -或su matanya )
更新:
我检查了代码签名。 Ran: codesign -vv /usr/bin/ssh-agent :
好评:
/usr/bin/ssh-agent: code object is not signed at all In architecture: x86_64
应该:
/usr/bin/ssh-agent: valid on disk /usr/bin/ssh-agent: satisfies its Designated Requirement
更新:
当我运行 :
eval `ssh-agent` ssh-add
我可以用sshlogin。
您的system.log错误显示您在您的iMac上本地运行的ssh-agent存在问题。 由于某些原因,即使launchd尝试重新启动它也不会运行。
当你尝试使用任何ssh客户端(CLI或传输)进行连接时,他们尝试使用ssh-agent但是因为它没有运行,所以无法连接到它。 因此他们等待没有输出也没有input。
我不知道什么阻止你的ssh代理运行。 但是,要在CLI上运行ssh客户端并使其连接到服务器,可以尝试以下操作:
unset SSH_AUTH_SOCK ssh [email protected] # (you'll then be asked for you pass phrase if you use one)
您甚至可以尝试从相同的terminal窗口启动传输:
open /Applications/Transmit.app
如果ssh-agent -l告诉你-l选项是非法的,这意味着它不是你的系统试图运行的原始的苹果ssh-agent( -l是苹果公司没有logging的function)。 replace的ssh-agent正在使launchd不快。 这个博客文章可能有一些解释为什么。
如果您有第三方ssh工具(来自brew,macports或其他渠道),我build议您将它们移开或升级(假设它们已启用,即: -l选项存在)。 一个ssh-agent调用应该回答如下:
antoine@amarante:~$ /usr/bin/ssh-agent -l launch_msg: Operation not permitted
检查不要从.bashrc或其他会话启动脚本等其他位置启动ssh-agent也是一个好主意。 有多个,可能不同的ssh-agent在同一时间运行,可能是一个问题的来源。
你可以检查与Cyberduck等其他程序的SSH连接吗?
另外我find了解决scheme ,您需要在以下位置查看启动代理:
/Macintosh HD/Library/LaunchAgents/ /Macintosh HD/Library/LaunchDaemons/ /username/Library/LaunchAgents/ /username/Library/LaunchDaemons/
然后检查缺less的可执行文件或文件没有可执行标志切换。
我OpenSSH的本地版本是OpenSSH_5.9p1,OpenSSL 0.9.8r 2011年2月8日
所以你也可以从macports或brew中尝试OpenSSH。 我个人更喜欢macports,然后酿造,如果我需要什么不在OS X默认情况下。
更新:
ssh -a [email protected] ,与上面相同,但禁用代理转发 UPDATE2:
在我的系统上(OS X 10.8)org.openbsd.ssh-agent.plist看起来像这样:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>org.openbsd.ssh-agent</string> <key>ProgramArguments</key> <array> <string>/usr/bin/ssh-agent</string> <string>-l</string> </array> <key>ServiceIPC</key> <true/> <key>Sockets</key> <dict> <key>Listeners</key> <dict> <key>SecureSocketWithKey</key> <string>SSH_AUTH_SOCK</string> </dict> </dict> <key>EnableTransactions</key> <true/> </dict> </plist>
我也是这样认为的:
$ /usr/bin/ssh-agent -l launch_msg: Operation not permitted $ shasum -a 256 /usr/bin/ssh-agent e21e2f23819b60f6288edda97427d98413c1bb737d49d313e2857f058627aab6 /usr/bin/ssh-agent