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는 프로세스를 자동화하는 도구입니다.

관련 정보