각 호스트 이름에 대한 사용자 정의 텍스트를 에코하도록 SSH 구성을 편집하는 방법이 있습니까?

각 호스트 이름에 대한 사용자 정의 텍스트를 에코하도록 SSH 구성을 편집하는 방법이 있습니까?

여러 호스트가 포함된 SSH 구성 파일이 있으며 각 호스트에는 일부 포트 전달이 미리 구성되어 있습니다.

Host host
  HostName host.server.com
  User user
  LocalForward 1234 localhost:9911
  LocalForward 5678 localhost:9922

다음과 같은 텍스트를 표시하는 쉬운 방법이 있습니까?

Service 1 (port: 9911) forwarded to port: 1234
Service 2 (port: 9922) forwarded to port: 5678

로그인할 때?

답변1

이상한 해결책 :

awk '/LocalForward/ 
{ count++;
  split($3,arr,":");
  printf "Service %i ( port: "arr[2]") forwarded to port : "$2"\n",count 
}' ssh_config

LocalForward 라인 패턴이 일치하면 변수 수가 증가합니다. 분할선의 세 번째 공백을 사용하여 필드를 구분합니다. 결과를 배열(arr)에 배치합니다. arr 배열의 두 번째 요소와 줄에서 공백으로 구분된 두 번째 데이터 세그먼트를 추출하는 데 필요한 텍스트를 인쇄합니다.

관련 정보