Bash 쉘 스크립트를 사용하여 SSH 인증을 확인하시겠습니까?

Bash 쉘 스크립트를 사용하여 SSH 인증을 확인하시겠습니까?

여러 서버에서 SSH 인증을 테스트해야 합니다. 이 서버의 IP 주소가 ip.txt파일 에 저장되어 있다고 가정합니다.

저는 Python paramiko과 모듈을 사용하여 netmiko비슷한 스크립트를 작성했습니다 .

이제 문제는 Python3이나 인터넷 연결 없이 서버에서 테스트해야 한다는 것입니다.

따라서 여기에서는 타사 도구나 Python 모듈을 설치할 수 없습니다.

expect, sshpass또한 사용할 수 없습니다.

사용 가능한 유일한 것은 bash 스크립트입니다. Bash에서만 이 작업을 수행할 수 있습니까? passwordSSH로 어떻게 전달합니까 ?

답변1

노력하다SSH_ASKPASS

인간 SSH

...

SSH_ASKPASS

SSH에 비밀번호가 필요한 경우 터미널에서 실행하면 현재 터미널에서 비밀번호를 읽습니다. ssh에 연결된 터미널이 없지만 DISPLAY 및 SSH_ASKPASS가 설정된 경우 SSH_ASKPASS에 지정된 프로그램을 실행하고 X11 창을 열어 비밀번호를 읽습니다. 이는 .xsession 또는 관련 스크립트에서 ssh를 호출할 때 특히 유용합니다. (일부 시스템에서는 이 작업이 작동하려면 /dev/null의 입력을 리디렉션해야 할 수도 있습니다.)

...

$ cat echoPass
echo passwordHere

$ cat sshSession
export SSH_ASKPASS='~/echoPass'
setsid ssh user@server

$./sshSession
user@server:~$ whoami
user
user@server:~$ 

관련 정보