bat, 쉘 스크립트 ssh는 자동으로 암호를 입력합니다.

내 컴퓨터는 win11이고 우분투 시스템과 함께 제공되며 cmd를 연 다음 우분투를 입력하면 우분투 시스템에 직접 들어간 다음 간단한 Linux 명령을 실행할 수 있습니다. 두 시스템 모두에서 원격 서비스에 자동으로 연결하는 스크립트를 작성했습니다.

ssh 원격접속을 통해 원격접속 서버라면 비밀번호 없는 로그인으로 설정할 수 있습니다. 그런 다음 스크립트는 다음과 같이 간단합니다.

ssh 사용자 이름@xxx.xxx.xxx.xxx。

예를 들어 연결하려는 서버는 192.168.20.9입니다. 사용자는 루트이고 암호는 123456입니다.

1. cmd 환경에 있는 경우 내용이 포함된 ssh209.bat 파일을 작성합니다.

SSH 루트@192.168.20.9

그런 다음 환경 변수에 경로를 저장하고 추가합니다. 그런 다음 아무 경로에서나 ssh209를 실행하면 이 20.9 서버에 바로 들어갈 수 있습니다.

2. 우분투에 있는 경우 다음 내용으로 ssh209 파일을 작성합니다.

#!/bin/sh
ssh [email protected]

그런 다음 /usr/bin에 저장한 다음 아무 경로에서나 ssh209를 실행하여 이 서버에 들어갈 수 있습니다.

하지만 비밀번호 없는 로그인을 설정할 수 없다면 자동 비밀번호 입력을 실현하기 위해 자동 입력 기능을 추가해야 합니다.

1. cmd 환경이라면 vbs 스크립트를 작성해야 달성할 수 있습니다.

설정 ws = CreateObject("WScript.Shell")
ws.run "ssh [email protected]"
wscript.sleep 1000
ws.sendkeys("123456")
ws.sendkeys("{ENTER}")
wscript.quit 

그런 다음 vbs209.vbs로 저장합니다.

vbs209.vbs를 직접 실행할 수 있지만 현재 경로에서 실행해야 합니다. 그래서 다음과 같은 박쥐 스크립트 ssh209.bat를 작성했습니다. 시작 vbs209.vbs

이와 같이 어떤 경로로든 ssh209를 실행하기만 하면 비밀번호를 입력하지 않고도 원격 서버에 들어갈 수 있다.

2. 우분투라면 먼저 sudo apt install expect를 통해 expect를 설치해야 합니다. 그런 다음 ssh209를 작성하십시오.

#!/bin/expect
set timeout 30
spawn ssh [email protected]
expect "password:"
send "123456\r"
interact

저장 후 임의의 경로에서 ssh209를 실행하여 서버에 원격으로 접속합니다.

이 두 스크립트, bat 스크립트는 연고에 약간의 파리가 새 창을 엽니다. 그리고 쉘 스크립트는 새 창을 열지 않습니다.

Je suppose que tu aimes

Origine blog.csdn.net/IamstudyingJava/article/details/130087974
conseillé
Classement