scp는 작동하지 않지만 ssh는 작동합니다

scp는 작동하지 않지만 ssh는 작동합니다

내 로컬 컴퓨터와 원격 컴퓨터가 모두 동일한 네트워크에 연결되어 있는데, 이는 내 Android 휴대전화의 핫스팟입니다. SSH를 통해 원격 컴퓨터에 연결할 수 있지만 문제는 일부 파일을 원격 컴퓨터에 복사하려고 할 때 오류 메시지가 표시된다는 것입니다. 이상하게도 scp어제는 잘 작동했지만 오늘은 다음과 같은 오류 메시지가 표시됩니다.scp -v file.txt [email protected]:/root

Executing: program /data/data/com.termux/files/usr/bin/ssh host 191.168.43.85, user root, command scp -v -t /root
OpenSSH_7.7p1, OpenSSL 1.0.2o  27 Mar 2018
debug1: Reading configuration data /data/data/com.termux/files/usr/etc/ssh/ssh_config
debug1: Connecting to 191.168.43.85 [191.168.43.85] port 22.
debug1: Connection established.
debug1: key_load_public: No such file or directory
debug1: identity file /data/data/com.termux/files/home/.ssh/id_rsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /data/data/com.termux/files/home/.ssh/id_rsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /data/data/com.termux/files/home/.ssh/id_dsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /data/data/com.termux/files/home/.ssh/id_dsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /data/data/com.termux/files/home/.ssh/id_ecdsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /data/data/com.termux/files/home/.ssh/id_ecdsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /data/data/com.termux/files/home/.ssh/id_ed25519 type -1
debug1: key_load_public: No such file or directory
debug1: identity file /data/data/com.termux/files/home/.ssh/id_ed25519-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /data/data/com.termux/files/home/.ssh/id_xmss type -1
debug1: key_load_public: No such file or directory
debug1: identity file /data/data/com.termux/files/home/.ssh/id_xmss-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_7.7
ssh_exchange_identification: read: Connection reset by peer
lost connection

~/.ssh로컬 컴퓨터에서 축소된 콘텐츠 입니다.

# ls -la .ssh
total 12
drwx------  2 u0_a334 u0_a334 4096 Jul 25 12:33 .
drwx------ 36 u0_a334 u0_a334 4096 Jul 25 12:05 ..
-rw-------  1 u0_a334 u0_a334    0 Jul 25 12:33 authorized_keys
-rw-r--r--  1 u0_a334 u0_a334  175 Jul 25 11:51 known_hosts

댓글 다 확인해보니 /etc/hosts.deny범인은 아니네요.

로컬 컴퓨터에 있는 Known_hosts 파일의 내용입니다.

# cat .ssh/known_hosts
192.168.43.85 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBB4scw5vCUl2dssTS97+5QhiMBIk+/Tc15LoqAoS05i99jMOwRwyRpoNcKTk52d5hprkI7ECIGC9Qrh1KcIniFM=

이거 중복 아닌거 같은데SSH를 통해 서버에 연결을 시도하고 key_load_public이 발생함: 해당 파일 또는 디렉터리 없음 오류가 발생함

그래도 통과할 수 있기 때문에 상황이 조금 다르기 때문에 모든 솔루션을 시도했습니다.ssh [email protected]SSH를 통해 서버에 연결을 시도하고 key_load_public이 발생함: 해당 파일 또는 디렉터리 없음 오류가 발생함

편집하다

개인 키를 생성한 후 모든 것이 잘 작동하지만 개인 키 없이도 scp가 작동하는 이유는 여전히 혼란스럽습니다.

답변1

문제는 존재하지 않는 SSH 개인 키를 사용하려고 하는 것입니다. 디렉터리 내부에 필요한 키가 scp없습니다.id_rsaid_dsaid_ecdsa

/data/data/com.termux/files/home/.ssh/

주문 이후

ls -la /data/data/com.termux/files/home/.ssh/

반품

total 12
drwx------  2 u0_a334 u0_a334 4096 Jul 25 12:33 .
drwx------ 36 u0_a334 u0_a334 4096 Jul 25 12:05 ..
-rw-------  1 u0_a334 u0_a334    0 Jul 25 12:33 authorized_keys
-rw-r--r--  1 u0_a334 u0_a334  175 Jul 25 11:51 known_hosts

이 오류를 수정할 수 있는 방법은 두 가지가 있습니다.

첫 번째 가능성은 필요한 개인 키(아마도 id_rsa그 중 하나 또는 일부)를 디렉터리에 복사하는 것입니다.id_dsaid_ecdsa/data/data/com.termux/files/home/.ssh/

두 번째 가능성은 (identity_file) 옵션을 사용하여 scp명시적인 개인 키 의 사용을 명시적으로 지시하는 것입니다.-i

scp -i /path/to/id_rsa file.txt [email protected]:/root

ID 파일이 어디에 저장되어 있는지 모르지만 ssh작동하는 경우(OP에서 언급한 대로) 옵션을 사용하여 실행 ssh하고 verbose연결 로그에서 다음 명령에 사용되는 ID 파일 경로를 찾습니다 ssh.

ssh -vvv [email protected]

관련 정보