셸 스 크 립 트 암호 없 이 expect 에 로그 인 하 는 방법 에 대한 자세 한 설명
오늘 은 최신 패 킷 파일 을 원 격 서버 에 전송 하 는 정시 작업 스 크 립 트 가 필요 합 니 다.키 가 있 지만 비밀 번 호 를 입력 해 야 하기 때문에 스 크 립 트 가 자동 으로 비밀 번 호 를 입력 할 수 있 도록 다른 방법 을 강구 할 수 밖 에 없습니다.
인터넷 에서 expect 를 사용 할 수 있다 는 것 을 알 아 냈 습 니 다.간단하게 연 구 했 는데 효과 가 좋 습 니 다.
제 운영 체제 에 expect 가 설치 되 어 있 지 않 기 때문에'yum-y install expect'를 직접 설치 할 수 있 습 니 다.운영 체제 에 따라 expect 를 설치 하거나 소스 코드 를 컴 파일 할 수 있 습 니 다.
설치 한 후에 사용 할 수 있 습 니 다.여기 몇 가지 방법 이 있 습 니 다.
각본
예 를 들 어 autoscp.sh:
#!/usr/bin/expect
#
set server_ip [lindex $argv 0]
# [lindex $argv n]
set server_port 22
set server_dir /home/test
set server_user test
set server_pswd test
set scp_file auto_scp.sh
#
set timeout 60
spawn scp -P $server_port $scp_file $server_user@$server_ip:$server_dir
expect {
"passphrase"
{
send "$server_pswd
";
}
"password"
{
send "$server_pswd
";
}
"yes/no"
{
send "yes
";
exp_continue;
}
}
expect eof
내 가 있 는 변 수 는 모두 임의로 설정 되 어 있 습 니 다.당신 의 상황 에 따라 선택 할 수 있 습 니 다.저장 하고 종료 한 후에 이 파일 에 실행 가능 한 권한 을 추가 하여 실행 할 수 있 습 니 다."./auto_scp.sh 2.2.2.2"이면 됩 니 다."2.2.2.2"가 들 어 오 는 첫 번 째 매개 변수 입 니 다.
"passphrase"와"password"등 은 입력 알림 의 일부분 을 모니터링 하 는 것 입 니 다.send"$serverpswd"는 실행 할 명령 입 니 다.
2.스 크 립 트 에서 사용-나 는 이것 을 비교적 좋아한다.
여기 서 사용 하 는 것 은 Here document 방법 입 니 다.
......
......
expect <<!!
set timeout 60
spawn scp -P $server_port $scp_file $server_user@$server_ip:$server_dir
expect {
"passphrase"
{
send "$server_pswd
";
}
"password"
{
send "$server_pswd
";
}
"yes/no"
{
send "yes
";
exp_continue;
}
}
expect eof
!!
......
변 수 는 모두 내 가 설정 파일 에서 가 져 온 것 이 니 더 이상 군말 하지 않 겠 습 니 다.3.스 크 립 트 에서 사용
스 크 립 트 에서 도 사용 되 지만 Here document 방법 이 아니 라 expect-c 매개 변수 책 을 사용 합 니 다."-c"옵션 뒤의 문자열 을 채 우 는 것 이 명령 입 니 다.그러나 자체 문자열 의 전의 자 를 주의해 야 한다.
궁금 한 점 이 있 으 시 면 메 시 지 를 남기 거나 본 사이트 의 커 뮤 니 티 에 가서 토론 을 교류 하 세 요.읽 어 주 셔 서 감사합니다. 도움 이 되 셨 으 면 좋 겠 습 니 다.본 사이트 에 대한 지지 에 감 사 드 립 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
✨〰️ ZI 〰️✨ Vim 구문❮ ZI ❯ 🧙♀️ Zsh를 위한 스위스 아미 나이프. 모든 것을 함께 붙일 수 있도록 설계되었습니다. zsh 유형의 파일에 있는 명령에 대한 Vim 구문 정의입니다. 📥 설치 Vim 플러그인으로 로드합니다. 예를...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.