SSH를 통해 컴퓨터에 연결할 때 파일에서 비밀번호 얻기

SSH를 통해 컴퓨터에 연결할 때 파일에서 비밀번호 얻기

SSH를 통해 원격 시스템에 연결하고 싶지만 비밀번호를 입력하는 대신 다른 파일에서 리디렉션하고 싶습니다.

password.txt그래서 비밀번호를 저장하는 파일이 있습니다. File.sh내 bash 파일입니다.

존재하다File.sh

#!/bin/bash
ssh -T [email protected]

파일을 실행하는 동안 다음을 수행했습니다.

./File.sh < password.txt

하지만 어쨌든 비밀번호를 묻는 메시지가 표시됩니다.

파일에서 비밀번호를 입력하려면 어떻게 해야 합니까?

답변1

"파일의 비밀번호"를 사용하는 SSH는 공개 키 인증에 자주 사용됩니다. 키 쌍 생성을 사용하여 ssh-keygen공개 키를 다른 호스트에 업로드합니다.

scp ./.ssh/id_rsa.pub [email protected]:~/

다음과 같이 배치하십시오 ~/.ssh/authorized_keys.

ssh [email protected]
mkdir ~/.ssh
mv ~/id_rsa.pub ~/.ssh/authorized_keys

또는 authorized_keys파일이 이미 존재하는 경우:

cat ~/id_rsa.pub >> ~/.ssh/authorized_keys

적절한 권한을 설정합니다(파일의 경우 600, 디렉터리의 경우 700).

chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh

새로운 SSH 세션을 시작하십시오.

답변2

sshpass다음 방법을 사용하여 이 작업을 수행 할 수 있습니다 .

sshpass -f password.txt ssh -T [email protected]

답변3

#!/usr/bin/expect -f
spawn ssh shw@hostname
expect -exact "shw@hostname's password: "
send -- "PASSWORD\r"
expect "$ "
interact

Expect는 이 프로세스를 자동화하는 도구입니다.

관련 정보