키 쌍과 비밀번호를 사용하여 SSH 연결을 스크립팅하는 방법은 무엇입니까?

키 쌍과 비밀번호를 사용하여 SSH 연결을 스크립팅하는 방법은 무엇입니까?

다음 명령을 사용하여 호스팅 공급자에 수동으로 로그인했습니다.

ssh -i /path/to/key-ssh [email protected]

그런 다음 서버는 비밀번호를 요청하고 로그인에 성공합니다.

이제 MySQL 백업을 자동화하고 싶으므로 쉘 스크립트를 사용하여 로그인해야 합니다. (명확하게 말하자면, 제공업체에서는 로그인하려면 키 쌍과 비밀번호를 요구합니다)

그런 다음 sshpass를 사용하려고 합니다.

sshpass -p 'MYPASSWORD' ssh [email protected]

권한이 거부되었습니다(공개 키, gssapi-keyex, gssapi-with-mic).

그런 다음 이것을 시도했습니다.

sshpass -p 'MYPASSWORD' ssh -i /path/to/key-ssh [email protected]

이런 식으로 원격 서버가 전혀 응답하지 않습니다(프롬프트 정지).

내 서버는 Debian 8.10(Jessie)을 실행합니다.

나는 sshpass 사용의 보안 위험을 알고 있지만 이 서버를 사용하는 유일한 사람입니다. 나는 또한 automysqlbackup을 시도했지만 SSL을 통해 작동시키려고 하면 머리가 아팠습니다.

SSH를 통한 자동 백업이 가장 쉬운 솔루션인 것 같습니다(더 이상 확실하지 않습니다...)

답변1

서버는 귀하의 비밀번호를 묻지 않습니다. 입력한 내용은 개인 키를 보호하는 비밀번호입니다.

비밀번호를 입력하지 않고 자동으로 로그인하려면 먼저 비밀번호를 삭제해야 합니다. 다음 명령을 사용하여 이 작업을 수행할 수 있습니다.

ssh-keygen -p

하지만 개인키는 비밀번호 없이 누구나 사용할 수 있으므로 안전한 곳에 보관하시기 바랍니다.

관련 정보