我正在运行 fedora 20,当我尝试运行时,svn checkout svn+ssh://repo
输入我的密钥的 ssh 密码后出现此错误:
ssh_askpass: exec(/usr/lib64/misc/ssh-askpass): No such file or directory
Host key verification failed.
我已经使用 yum 安装了 openssh-askpass,但它没有创建文件/usr/lib64/misc/ssh-askpass
。我可能做错了什么?
我的.subversion/config
文件:
[tunnels]
ssh = $SVN_SSH ssh -q -p 9001
在.bashrc中:
export SVN_SSH="ssh -AT server ssh -T";
将我的输出设置为详细,我得到以下内容。(服务器的 URL 已被更改)
username@username-VirtualBox:~/dev$ svn checkout svn+ssh://server/trunk upe_trunk
OpenSSH_6.6.1, OpenSSL 1.0.1f 6 Jan 2014
debug1: Reading configuration data /home/username/.ssh/config
debug1: /home/username/.ssh/config line 1: Applying options for server
debug1: /home/username/.ssh/config line 16: Applying options for *
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to server [196.22.96.105] port 22.
debug1: Connection established.
debug1: identity file /home/username/.ssh/dsa.key type -1
debug1: identity file /home/username/.ssh/dsa.key-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.6.1p1 Ubuntu-2ubuntu2
debug1: Remote protocol version 2.0, remote software version OpenSSH_6.6p1-hpn14v4
debug1: match: OpenSSH_6.6p1-hpn14v4 pat OpenSSH_6.5*,OpenSSH_6.6* compat 0x14000000
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr [email protected] none
debug1: kex: client->server aes128-ctr [email protected] none
debug1: sending SSH2_MSG_KEX_ECDH_INIT
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: ECDSA 7e:5c:4c:f1:0b:28:da:db:5b:29:60:6b:ab:16:f3:14
debug1: Host 'server' is known and matches the ECDSA host key.
debug1: Found key in /home/username/.ssh/known_hosts:3
debug1: ssh_ecdsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,gssapi-with-mic,keyboard-interactive
debug1: Next authentication method: gssapi-with-mic
debug1: Unspecified GSS failure. Minor code may provide more information
No Kerberos credentials available
debug1: Unspecified GSS failure. Minor code may provide more information
No Kerberos credentials available
debug1: Unspecified GSS failure. Minor code may provide more information
debug1: Unspecified GSS failure. Minor code may provide more information
No Kerberos credentials available
debug1: Next authentication method: publickey
debug1: Trying private key: /home/username/.ssh/dsa.key
debug1: key_parse_private2: missing begin marker
debug1: key_parse_private_pem: PEM_read_PrivateKey failed
debug1: read PEM private key done: type <unknown>
Enter passphrase for key '/home/username/.ssh/dsa.key':
debug1: key_parse_private2: missing begin marker
debug1: read PEM private key done: type DSA
debug1: Authentication succeeded (publickey).
Authenticated to server ([192.22.96.105]:22).
debug1: channel 0: new [client-session]
debug1: Requesting [email protected]
debug1: Entering interactive session.
debug1: SSH2_MSG_KEXINIT received
debug1: SSH2_MSG_KEXINIT sent
debug1: kex: server->client aes128-ctr [email protected] none
debug1: kex: client->server aes128-ctr [email protected] none
debug1: sending SSH2_MSG_KEX_ECDH_INIT
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: ECDSA 7e:5c:4c:f1:0b:28:da:db:5b:29:60:6b:ab:16:f3:14
debug1: Host 'server' is known and matches the ECDSA host key.
debug1: Found key in /home/username/.ssh/known_hosts:3
debug1: ssh_ecdsa_verify: signature correct
debug1: set_newkeys: rekeying
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: set_newkeys: rekeying
debug1: SSH2_MSG_NEWKEYS received
debug1: Requesting X11 forwarding with authentication spoofing.
debug1: Requesting authentication agent forwarding.
debug1: Sending environment.
debug1: Sending env LANG = en_US.UTF-8
debug1: Sending command: ssh -T server svnserve -t
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug1: client_input_channel_req: channel 0 rtype [email protected] reply 0
ssh_askpass: exec(/usr/lib64/misc/ssh-askpass): No such file or directory
Host key verification failed.
debug1: channel 0: free: client-session, nchannels 1
debug1: fd 0 clearing O_NONBLOCK
debug1: fd 1 clearing O_NONBLOCK
Transferred: sent 5176, received 4424 bytes, in 0.4 seconds
Bytes per second: sent 13314.9, received 11380.5
debug1: Exit status 255
svn: E210002: Unable to connect to a repository at URL 'svn+ssh://server/var/svn/repo/upe/trunk'
svn: E210002: To better debug SSH connection problems, remove the -q option from 'ssh' in the [tunnels] section of your Subversion configuration file.
svn: E210002: Network connection closed unexpectedly
答案1
我发现问题出在我的环境变量 SVN_SSH 中。我不明白为什么,但通过将其更改为:
export SVN_SSH="ssh -T";
有效。