Mac 터미널 비상호 로그인 원격 서버

현상


연구개발에 있어 각 환경의 서버에서 왔다 갔다 전환하여 프로젝트 로그를 따라가고 신속하게 문제를 포지셔닝해야 한다.터미널에서 ssh 명령을 사용하여 각 서버에 로그인하는 데 가장 중요한 것은 각 서버의 IP, 사용자 이름, 비밀번호 등 정보를 기억해야 할 뿐만 아니라 매번 로그인할 때마다 상기 정보를 수동으로 입력해야 한다. 이런 반복적인 기계적인 동작은 기계가 하면 된다고 생각하고 우리를 위해 시간을 절약할 수 있다.

실현 방안


Expect + Alias 구성을 통한 철저한 시나리오(보안 시스템 없음)

  • 스크립트 파일expect을 작성하여 ***.exp라고 명명합니다. 여기서 * 임의로 바꾸면 됩니다. 파일 내용은 다음과 같습니다
  • #!/usr/bin/expect
    
    set timeout 30
    spawn ssh [lindex $argv 0]@[lindex $argv 1]
    expect {
        "(yes/no)?"
        {send "yes
    "
    ;exp_continue} "password:" {send "[lindex $argv 2]
    "
    } } interact
  • 위의 스크립트 파일을 경로에 넣기/usr/local/bin
  • 스크립트 파일 수정 권한, 명령은 다음과 같습니다chmod 755 /usr/local/bin/***.exp
  • vim ~/.bash_profile, 파일에 다음과 같은 코드를 추가합니다
  • alias kaifaji="***.exp   IP  "
    alias ci="***.exp   IP  "
    //  , 
  • 효력이 발생하는 파일, 명령은 다음과 같다source ~/.bash_profile
  • 마지막으로 터미널에 정의된 별명을 입력하면 됩니다.예:kaifaji 리턴
  • 특별 성명


    본인 단말기에 oh-my-zsh가 설치되어 있기 때문에 유효한 프로필은 ~/.zshrc이기 때문에 별명은 이 프로필에 배치됩니다.기타 작업은 변경되지 않습니다.

    좋은 웹페이지 즐겨찾기