명령 출력을 사용하여 SSH 로그인 생성

명령 출력을 사용하여 SSH 로그인 생성

두 부분으로 구성된 ssh + 포트 전달 명령을 생성하는 제가 정말 좋아하는 스크립트가 있습니다.

ssh -N -f -o 'ControlMaster Auto' -o 'ControlPath /tmp/gimme_access' -o 'ControlPersist 1m' -L 6473:33.22.0.0:22 -i /home/sink/.ssh/id_dsa -o 'UserKnownHostsFile /home/sink/.ssh/known_hosts' -p 6000 [email protected] ; ssh -p 6473 -l noc -i /home/my_boy/.ssh/id_rsa -o 'StrictHostKeyChecking no' 127.0.0.1

이로 인해 이러한 컴퓨터에 로그인하기 위해 다시 작성할 수 있는 다양한 장치에 노출되었지만 연결 문자열만 출력하는 명령을 선호합니다.

위의 문자열을 생성하고 로그인 상태를 유지하는 명령을 파이프할 수 있는 것이 있습니까? 나는 강타하기 위해 파이핑을 시도했지만 즉시 종료되었습니다.

답변1

이를 사용하여 eval문자열에 저장된(또는 다른 프로그램의 출력을 기반으로) 명령을 실행할 수 있습니다.

eval 'echo Hello World'
eval $(magic-ssh-commmand-generator)

에서 man bash:

eval [arg ...]
    The  args  are  read  and concatenated together into a single command. 
    This command is then read and executed by the shell, and its exit status
    is returned as the value of eval.  If there are no args, or only null 
    arguments, eval returns 0.

관련 정보