bash 쉘 스크립트를 사용하여 웹캠 이미지를 웹 호스트에 업로드하는 여러 개의 Raspberry Pie가 있습니다.
모든 Pi에서 동일한 업로드 코드는 다음과 같습니다.
curl -s -S -u myname: \
--connect-timeout 25 \
--max-time 40 \
--retry 3 \
--pubkey ~/.ssh/id_rsa.pub \
-T $file $host >> $log 2>&1
호스트는 sftp://ftp.mydomain.com/~/public_html/입니다.
이것은 몇 년 동안 두 파이 모두에서 잘 작동했습니다.
나는 최근 Pies 중 하나에 있는 ~/.ssh/known_hosts 파일을 자세히 살펴보았습니다. 이로 인해 즉시 컬 오류 60이 발생했습니다.
curl: (60) SSL peer certificate or SSH remote key was not OK
More details here: https://curl.haxx.se/docs/sslcerts.html
curl failed to verify the legitimacy of the server and therefore could not
establish a secure connection to it. To learn more about this situation and
how to fix it, please visit the web page mentioned above.
비어 있는 새 Known_hosts 파일을 생성하고 명령줄에서 ssh를 사용하여 손상된 Pi에서 웹 호스트에 로그인했습니다. 모든 것이 정상입니다. 비밀번호가 필요하지 않습니다.
불행하게도 컬 문제를 해결하는 방법을 알아낼 수 있는 유일한 방법은 컬 안전하지 않은 옵션(-k)을 사용하는 것입니다.
동일한 코드를 사용하는 다른 Pi는 안전하지 않은 옵션 없이도 계속해서 잘 작동합니다.
깨진 Pi 또는 호스트의 인증서를 변경하지 않았기 때문에 여기서 무슨 일이 일어나고 있는지 알 수 없습니다.
덜 안전하지 않은 방법으로 이 문제를 해결할 수 있도록 설명해 줄 수 있는 사람이 있나요?
=====
편집: Known_hosts 파일을 덮어쓰는 방법입니다. systemd 역방향 SSH 터널 서비스의 상태 로그에 다음 오류 메시지가 표시됩니다.
Mar 24 11:43:30 raspcondo ssh[946]: Offending ECDSA key in /home/pi/.ssh/known_h
Mar 24 11:43:30 raspcondo ssh[946]: remove with:
Mar 24 11:43:30 raspcondo ssh[946]: ssh-keygen -f "/home/pi/.ssh/known_hosts"
물론 이러한 지침은 알려진_호스트를 새 개인 키로 덮어쓰게 하므로 잘못된 것입니다(잘린 것으로 가정합니다). 다음과 같아야 합니다.
ssh-keygen -f "/home/pi/.ssh/known_hosts" -R "host"
답변1
다른 동일한 Pi에서 손실된 파일을 복사합니다. 작동하는지 확인하세요