SSH 키

SSH 키

그래서 ssh를 사용하여 여러 다른 사용자로 서버에 로그인해야 하고, 사용자의 비밀번호가 포함된 파일에서 매번 비밀번호를 복사하는 데 지쳤습니다. 비밀번호를 사용하지 않도록 변경할 수 없습니다. 내 비밀번호가 아니고 게임용 비밀번호입니다.

나는 다음을 사용해 보았습니다.

$ cat /path/to/myfile | ssh user@localhost

stdin이 터미널이 아니기 때문에 의사 터미널이 할당되지 않는다는 메시지가 나타납니다.

어떻게 작동해야 할지 잘 모르겠습니다.

답변1

SSH 키

첫째, 가장 좋은 솔루션은 새로운 SSH 키 쌍을 생성하고 이 키를 사용하여 모든 서버(또는 기본 설정에 따라 일부 서버)에 로그인하는 것입니다. 수행 방법을 모르는 경우 stackexchange에서 여러 번 찾을 수 있지만 바로 가기는 다음과 같습니다.

ssh-keygen; ssh-copy-id your-host

기본적으로 하나의 비밀번호로 한 번만 로그인하면 되도록 키에 비밀번호를 설정해야 합니다.

SSH 패스

그러나 정말로 파일의 비밀번호를 사용해야 한다면 주석에 설명된 대로 매우 간단하게 사용할 수 있습니다.

sshpass -f /path/to/myfile ssh user@localhost

ssh그러나 이는 일반 텍스트로 저장된 비밀번호를 사용하는 데 실제로 선호되는 방법은 아닙니다 .

예상되는

expect다음과 같은 스크립트를 사용하여 동일한 작업을 수행할 수 있습니다.

#!/usr/local/bin/expect
spawn  ssh [email protected]
expect "password:"
send "your_password\n";
interact

관련 정보