내 로컬 컴퓨터와 원격 컴퓨터가 모두 동일한 네트워크에 연결되어 있는데, 이는 내 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_rsa
id_dsa
id_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_dsa
id_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]