![SSH 安全复制被拒绝/超时](https://linux22.com/image/177464/SSH%20%E5%AE%89%E5%85%A8%E5%A4%8D%E5%88%B6%E8%A2%AB%E6%8B%92%E7%BB%9D%2F%E8%B6%85%E6%97%B6.png)
我对 Linux 游戏还比较陌生。我与远程主机建立了 SSH 连接,并尝试从远程主机到本地计算机的安全复制 (scp)。我在 Oracle VM 上运行 Linux Ubuntu。
当我运行 ssh-v 时:
OpenSSH_7.6p1 Ubuntu-4ubuntu0.3, OpenSSL 1.0.2n 7 Dec 2017
debug1: Reading configuration data /home/USER/.ssh/config
debug1: /home/USER/.ssh/config line 1: Applying options for novagpvm01
debug1: Connecting to HOSTNAME [HOSTIP] port 22.
debug1: Connection established.
debug1: identity file /home/USER/.ssh/id_rsa type 0
debug1: key_load_public: No such file or directory
debug1: identity file /home/USER/.ssh/id_rsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/USER/.ssh/id_dsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/USER/.ssh/id_dsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/USER/.ssh/id_ecdsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/USER/.ssh/id_ecdsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/USER/.ssh/id_ed25519 type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/USER/.ssh/id_ed25519-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_7.6p1 Ubuntu-4ubuntu0.3
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.3
debug1: match: OpenSSH_5.3 pat OpenSSH_5* compat 0x0c000000
debug1: Authenticating to HOSTNAME:22 as 'USER'
debug1: Offering GSSAPI proposal: gss-gex-sha1-toWM8Slw8Ew8Mqkay+al2g==,gss-group1-sha1-
toWM5Slw5Ew8Mqkay+al2g==,gss-group14-sha1-toWM5Slw5Ew8Mqkay+al2g==,gss-gex-sha1-
eipGX3TCiTUrx573bT1o1Q==,gss-group1-sha1-eipGX3TCiQSrx573bT1o1Q==,gss-group14-sha1-
eipGX3TCiTUrx573bT1o1Q==
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: algorithm: gss-gex-sha1-toWM8Slw8Ew8Mqkay+al2g==
debug1: kex: host key algorithm: ssh-rsa
debug1: kex: server->client cipher: aes128-ctr MAC: [email protected] compression: none
debug1: kex: client->server cipher: aes128-ctr MAC: [email protected] compression: none
debug1: Doing group exchange
debug1: Calling gss_init_sec_context
debug1: Delegating credentials
debug1: Received GSSAPI_COMPLETE
debug1: Calling gss_init_sec_context
debug1: Delegating credentials
debug1: Rekey has happened - updating saved versions
debug1: rekey after 4294967296 blocks
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: rekey after 4294967296 blocks
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: gssapi-keyex,gssapi-with-mic
debug1: Next authentication method: gssapi-keyex
debug1: Authentication succeeded (gssapi-keyex).
Authenticated to HOSTNAME ([HOSTIP]:22).
debug1: Local connections to LOCALHOST:5901 forwarded to remote address localhost:5904
debug1: Local forwarding listening on 127.0.0.1 port 5901.
debug1: channel 0: new [port listener]
debug1: Local forwarding listening on ::1 port 5901.
bind: Cannot assign requested address
debug1: channel 1: new [client-session]
debug1: Requesting [email protected]
debug1: Entering interactive session.
debug1: pledge: exec
debug1: Requesting X11 forwarding with authentication spoofing.
debug1: Requesting authentication agent forwarding.
至此,SSH就建立完成了。当我运行安全副本(在我的本地)时,其格式如下:
scp -r -v USER1@HOSTNAME:FOLDERPATH ~/home/USER/folder
我收到以下错误:
debug1: Authentications that can continue: gssapi-keyex,gssapi-with-mic
debug3: start over, passed a different list gssapi-keyex,gssapi-with-mic
debug3: preferred publickey,keyboard-interactive,password
debug1: No more authentication methods to try.
user@domain: Permission denied (gssapi-keyex,gssapi-with-mic).
我已经检查了主机和本地上的配置文件,它们是之前的帖子和主机推荐的配置文件。我尝试使用我的 IP 地址,但收到连接超时错误。当我得到以下信息时,这似乎也不是一个关键错误:
debug1: Server host key: ssh-rsa SHA256:xn0AoXgnMHKa8f9z9a9bClSHotypJqbIz8Vrw6MxNTc
debug3: hostkeys_foreach: reading file "/home/user/.ssh/known_hosts"
debug3: record_hostkey: found key type RSA in file /home/user/.ssh/known_hosts:1
debug3: load_hostkeys: loaded 1 keys from host.com
debug3: hostkeys_foreach: reading file "/home/user/.ssh/known_hosts"
debug3: record_hostkey: found key type RSA in file /home/user/.ssh/known_hosts:2
debug3: load_hostkeys: loaded 1 keys from XXX.XXX.XX.XX
debug1: Host 'host.com' is known and matches the RSA host key.
debug1: Found key in /home/user/.ssh/known_hosts:1
我已经没有想法了,非常感谢一些指导。谢谢你!
答案1
我的错,对不起。这就是问题所在:
debug1: Local forwarding listening on ::1 port 5901.
bind: Cannot assign requested address
debug1: channel 1: new [client-session]
看起来您正在尝试将 ssh 进程重新绑定到 ::1 端口 5901(通常用于 vnc),并且它已被另一个进程使用。
sudo netstat -anp | grep 5901
或者
ss -tunap | grep 5901
应识别该过程。
答案2
使用的默认密钥交换算法不兼容。如果您检查 ssh_config 的联机帮助页,例如
$ man ssh_config
并查找 GSSAPIKexAlgorithms,您会找到可以使用的选项。你像这样应用它们
$ scp -o GSSAPIKexAlgorithms=gss-nistp256-sha256- -r -v USER1@HOSTNAME:FOLDERPATH ~/home/USER/folder