요약:
파일을 전송하기 위해 노트북에서 데스크탑으로 연결하려고 하는데
sftp username@localIP
연결 시간 초과가 발생합니다.
사례:
Linux를 사용하고 동일한 라우터에 연결된 두 대의 컴퓨터:
컴퓨터 1: USB 테더링을 사용하여 인터넷에 연결된 데스크톱 두 번째 컴퓨터와 동일한 라우터에 연결된 전화
컴퓨터 2: 무선을 사용하여 인터넷에 연결된 노트북
다음 장치의 IP를 사용하십시오 hostname -I
.
데스크탑: 192.168.42.130
노트북:192.168.1.2
문제:
데스크탑에서 노트북으로 연결할 수 있지만 그 반대는 불가능합니다. 데스크톱 -> 노트북에서 많이 사용하는데, 노트북 -> 데스크톱에서 연결을 시도할 때마다 이런 현상이 발생합니다. (
2분 소요) (ssh: 호스트 192.168.42.130
포트 22에 연결 중: 연결 시간 초과 연결 종료됨)
GSPAuthentication
1) 아니요로 설정해 보세요 . 2) 아니요로
설정해 보세요. 3) 서비스를 다시 시작하세요. UseDNS
하지만 소용없었어
업데이트:
문제를 검색한 후의 결과는 다음과 같습니다(@AB는 문제가 NAT로 인한 것이라고 생각함).
참고: Len은 Lenovo(ielaptop)의 약어입니다.
참고: 라우터에는 Linux 시스템이 두 개만 있습니다. 참고
: 저는 전선이 없기 때문에 데스크탑에 있는 휴대폰을 사용하여 인터넷에 연결합니다(USB 테더링 사용).
1) 노트북->데스크탑에서 연결:
omar@omar-Len:~/Desktop$ sftp [email protected] ssh: connect to host 192.168.1.8 port 22: Connection refused Connection closed
2) 데스크톱 주소를 확인하세요(연결 전):
omar@omar-LDesktop:~$ ip -brief address lo UNKNOWN 127.0.0.1/8 ::1/128 enp0s25 DOWN enp0s29f7u2 UNKNOWN 192.168.42.130/24 fe80::69ce:4a20:5a7e:433c/64
3) 랩톱에서 열려 있는 연결을 확인합니다(두 컴퓨터를 연결하기 전).
omar@omar-Len:~/Desktop$ netstat -tn | egrep -w 22 omar@omar-Len:~/Desktop$
(PC->노트북에서 두 대의 컴퓨터 연결)
4) 열린 연결 확인: (
데스크탑)
omar@omar-LDesktop:~$ netstat -tn | egrep -w 22 tcp 0 0 192.168.42.130:44644 192.168.1.2:22 ESTABLISHED
(랩탑)
omar@omar-Len:~/Desktop$ netstat -tn | egrep -w 22 tcp 0 0 192.168.1.2:22 192.168.1.8:44644 ESTABLISHED
(데스크탑)
omar@omar-LDesktop:~$ ps -ef | grep [s]shd root 30538 1 0 19:07 ? 00:00:00 /usr/sbin/sshd -D
업데이트 2: (NAT를 피하기 위해 인터넷을 통해 두 대의 컴퓨터를 연결하고 싶으므로 여기에 평가판이 있습니다.)
데스크톱 -> 노트북에서 연결 하곤 했는데 sftp -vvv <publicIP>@<LocalIP>
비밀번호를 묻는 메시지가 표시되고 비밀번호를 입력하면 "권한 거부됨"이 반환되었지만 사용하지 않으면 제대로 연결됩니다.<publicIP>
다음은 데스크탑의 디버그 로그입니다. (참고로 내 것을 변경했습니다 <publicIP>
.)
sftp -vvv <publicIP>@omar-@[email protected]
OpenSSH_7.6p1 Ubuntu-4ubuntu0.3, OpenSSL 1.0.2n 7 Dec 2017 debug1: Reading configuration data /etc/ssh/ssh_config debug1: /etc/ssh/ssh_config line 19: Applying options for * debug2: resolving "192.168.1.2" port 22 debug2: ssh_connect_direct: needpriv 0 debug1: Connecting to 192.168.1.2 [192.168.1.2] port 22. debug1: Connection established. debug1: key_load_public: No such file or directory debug1: identity file /home/omar/.ssh/id_rsa type -1 debug1: key_load_public: No such file or directory debug1: identity file /home/omar/.ssh/id_rsa-cert type -1 debug1: key_load_public: No such file or directory debug1: identity file /home/omar/.ssh/id_dsa type -1 debug1: key_load_public: No such file or directory debug1: identity file /home/omar/.ssh/id_dsa-cert type -1 debug1: key_load_public: No such file or directory debug1: identity file /home/omar/.ssh/id_ecdsa type -1 debug1: key_load_public: No such file or directory debug1: identity file /home/omar/.ssh/id_ecdsa-cert type -1 debug1: key_load_public: No such file or directory debug1: identity file /home/omar/.ssh/id_ed25519 type -1 debug1: key_load_public: No such file or directory debug1: identity file /home/omar/.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_7.6p1 Ubuntu-4ubuntu0.3 debug1: match: OpenSSH_7.6p1 Ubuntu-4ubuntu0.3 pat OpenSSH* compat 0x04000000 debug2: fd 3 setting O_NONBLOCK debug1: Authenticating to 192.168.1.2:22 as '<publicIP>@omar-@omar-Len' debug3: hostkeys_foreach: reading file "/home/omar/.ssh/known_hosts" debug3: record_hostkey: found key type ECDSA in file /home/omar/.ssh/known_hosts:1 debug3: load_hostkeys: loaded 1 keys from 192.168.1.2 debug3: order_hostkeyalgs: prefer hostkeyalgs: [email protected],[email protected],[email protected],ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521 debug3: send packet: type 20 debug1: SSH2_MSG_KEXINIT sent debug3: receive packet: type 20 debug1: SSH2_MSG_KEXINIT received debug2: local client KEXINIT proposal debug2: KEX algorithms: curve25519-sha256,[email protected],ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha256,diffie-hellman-group14-sha1,ext-info-c debug2: host key algorithms: [email protected],[email protected],[email protected],ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,[email protected],[email protected],ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa debug2: ciphers ctos: [email protected],aes128-ctr,aes192-ctr,aes256-ctr,[email protected],[email protected]
debug2: ciphers stoc: [email protected],aes128-ctr,aes192-ctr,aes256-ctr,[email protected],[email protected]
debug2: MACs ctos: [email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],hmac-sha2-256,hmac-sha2-512,hmac-sha1 debug2: MACs stoc: [email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],hmac-sha2-256,hmac-sha2-512,hmac-sha1 debug2: compression ctos: none,[email protected],zlib debug2: compression stoc: none,[email protected],zlib debug2: languages ctos: debug2: languages stoc: debug2: first_kex_follows 0 debug2: reserved 0 debug2: peer server KEXINIT proposal debug2: KEX algorithms: curve25519-sha256,[email protected],ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group14-sha256,diffie-hellman-group14-sha1 debug2: host key algorithms: ssh-rsa,rsa-sha2-512,rsa-sha2-256,ecdsa-sha2-nistp256,ssh-ed25519 debug2: ciphers ctos: [email protected],aes128-ctr,aes192-ctr,aes256-ctr,[email protected],[email protected]
debug2: ciphers stoc: [email protected],aes128-ctr,aes192-ctr,aes256-ctr,[email protected],[email protected]
debug2: MACs ctos: [email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],hmac-sha2-256,hmac-sha2-512,hmac-sha1 debug2: MACs stoc: [email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],hmac-sha2-256,hmac-sha2-512,hmac-sha1 debug2: compression ctos: none,[email protected]
debug2: compression stoc: none,[email protected]
debug2: languages ctos: debug2: languages stoc: debug2: first_kex_follows 0 debug2: reserved 0 debug1: kex: algorithm: curve25519-sha256 debug1: kex: host key algorithm: ecdsa-sha2-nistp256 debug1: kex: server->client cipher: [email protected] MAC: <implicit> compression: none debug1: kex: client->server cipher: [email protected] MAC: <implicit> compression: none debug3: send packet: type 30 debug1: expecting SSH2_MSG_KEX_ECDH_REPLY debug3: receive packet: type 31 debug1: Server host key: <hostKey> SHA256:<SHA256> debug3: hostkeys_foreach: reading file "/home/omar/.ssh/known_hosts" debug3: record_hostkey: found key type ECDSA in file /home/omar/.ssh/known_hosts:1 debug3: load_hostkeys: loaded 1 keys from 192.168.1.2 debug1: Host '192.168.1.2' is known and matches the ECDSA host key. debug1: Found key in /home/omar/.ssh/known_hosts:1 debug3: send packet: type 21 debug2: set_newkeys: mode 1 debug1: rekey after 134217728 blocks debug1: SSH2_MSG_NEWKEYS sent debug1: expecting SSH2_MSG_NEWKEYS debug3: receive packet: type 21 debug1: SSH2_MSG_NEWKEYS received debug2: set_newkeys: mode 0 debug1: rekey after 134217728 blocks debug2: key: /home/omar/.ssh/id_rsa ((nil)) debug2: key: /home/omar/.ssh/id_dsa ((nil)) debug2: key: /home/omar/.ssh/id_ecdsa ((nil)) debug2: key: /home/omar/.ssh/id_ed25519 ((nil)) debug3: send packet: type 5 debug3: receive packet: type 7 debug1: SSH2_MSG_EXT_INFO received debug1: kex_input_ext_info: server-sig-algs=<ssh-ed25519,ssh-rsa,rsa-sha2-256,rsa-sha2-512,ssh-dss,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521> debug3: receive packet: type 6 debug2: service_accept: ssh-userauth debug1: SSH2_MSG_SERVICE_ACCEPT received debug3: send packet: type 50 debug3: receive packet: type 51 debug1: Authentications that can continue: publickey,password debug3: start over, passed a different list publickey,password debug3: preferred gssapi-keyex,gssapi-with-mic,publickey,keyboard-interactive,password debug3: authmethod_lookup publickey debug3: remaining preferred: keyboard-interactive,password debug3: authmethod_is_enabled publickey debug1: Next authentication method: publickey debug1: Trying private key: /home/omar/.ssh/id_rsa debug3: no such identity: /home/omar/.ssh/id_rsa: No such file or directory debug1: Trying private key: /home/omar/.ssh/id_dsa debug3: no such identity: /home/omar/.ssh/id_dsa: No such file or directory debug1: Trying private key: /home/omar/.ssh/id_ecdsa debug3: no such identity: /home/omar/.ssh/id_ecdsa: No such file or directory debug1: Trying private key: /home/omar/.ssh/id_ed25519 debug3: no such identity: /home/omar/.ssh/id_ed25519: No such file or directory debug2: we did not send a packet, disable method debug3: authmethod_lookup password debug3: remaining preferred: ,password debug3: authmethod_is_enabled password debug1: Next authentication method: password <publicIP>@omar-@[email protected]'s password: debug3: send packet: type 50 debug2: we sent a password packet, wait for reply debug3: receive packet: type 51 debug1: Authentications that can continue: publickey,password Permission denied, please try again.
노트북에서의 디버깅은 다음과 같습니다.
May 4 14:59:39 omar-Len sshd[10133]: Invalid user <publicIP>@omar-@omar-Len from 192.168.1.8 port 56890 May 4 14:59:44 omar-Len sshd[10133]: pam_unix(sshd:auth): check pass; user unknown May 4 14:59:44 omar-Len sshd[10133]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=192.168.1.8 May 4 14:59:47 omar-Len sshd[10133]: Failed password for invalid user <publicIP>@omar-@omar-Len from 192.168.1.8 port 56890 ssh2 May 4 14:59:49 omar-Len sshd[10133]: Connection closed by invalid user <publicIP>@omar-@omar-Len 192.168.1.8 port 56890 [preauth] May 4 15:03:50 omar-Len sudo: omar : TTY=pts/0 ; PWD=/home/omar/Desktop ; USER=root ; COMMAND=/bin/nano //var/log/auth.log May 4 15:03:50 omar-Len sudo: pam_unix(sudo:session): session opened for user root by (uid=0) May 4 15:04:12 omar-Len sudo: pam_unix(sudo:session): session closed for user root
답변1
휴대폰에서 테더링을 사용하면 실제로 자체 로컬 개인 네트워크가 생성되고 NAT와 같은 작업을 수행하여 그 뒤에 데스크톱이 숨겨집니다. 이것이 바로 데스크톱과 노트북이 잘 작동하는 이유입니다. 노트북은 데스크톱에 대한 공용 네트워크이고 전화로 액세스할 수 있기 때문입니다.
그러나 그 반대는 사실이 아닙니다. 랩톱이나 모뎀은 전화기 뒤에 있는 네트워크를 보거나 액세스할 수 없습니다. 네트워크 공유에는 NAT를 취소하고 기본 라우팅을 수행할 수 있는 옵션이 거의 없으며 USB와 무선을 연결할 수 없다면 할 수 있는 일이 많지 않습니다.
귀하가 수신한 로그인 거부 또는 실패는 라우터나 네트워크 외부의 일부 호스트에서 발생할 수 있습니다.
따라서 해결책은 데스크탑이 항상 연결을 시작하도록 하는 것입니다.