SSH에 대한 포트 전달을 자동으로 생성하는 스크립트가 있습니다. 하루 종일 서로 다른 서버의 여러 터미널 창에서 작업하기 때문에 포트가 내 끝에 매핑되어 있는지 확인하고 그렇다면 포트가 +1로 변경됩니다. 사용 가능한 포트를 찾았습니다. 그런 다음 포트 전달 정보를 에코하고 실행됩니다 ssh -L<port1>:localhost:<port2> <server>
. 단순한.
출력이 많고 포트가 원래 무엇에 매핑되었는지 기억할 수 없으면 끝까지 스크롤하여 찾아야 합니다. 이로 인해 상단에 한 줄 또는 여러 줄의 텍스트를 추가한 다음 그 아래에 SSH 세션을 추가하는 일종의 래퍼가 있을 수 있다는 생각이 들었습니다. 나는 기본 스케치를 자유롭게 그렸습니다.
인터넷 검색을 시도했지만 아무것도 찾는 데 어려움을 겪고 있습니다. 존재하는 경우 명령은 다음과 같습니다.wrapper --text="Port forwards: L5901:localhost:5900, L8080:localhost:80" --command="ssh -L<port1>:localhost:<port2> <server>"
아마도 screen을 사용하는 것도 해결책일 수 있지만 하나의 명령으로 "모든 것"을 실행할 수 있기를 바랍니다(텍스트 줄 추가 + 그 아래에서 SSH 세션 시작).
답변1
방금 Gnome 제목 표시줄을 설정했는데 창 상단에 설정한 내용이 표시됩니다.
Bash가 헤더를 변경하는 것을 방지하려면 다음을 사용하십시오.
PROMPT_COMMAND=''
PS1='$ '
(PROMPT_COMMAND 또는 PS1이 제목 표시줄을 변경하려고 시도할 수 있음) 다음을 사용하여 제목을 설정합니다.
echo -ne "\033]0;new title with port number found\007"
서버의 PS1에도 타이틀이 설정되어 있지 않은지 확인하세요. 다음에서 이 작업을 수행할 수 있습니다 ~/.bashrc
.
if [ ! -z "$SSH_CLIENT" ] ; then
PS1='$ '
fi
(위 내용은 Ubuntu 12.04를 실행하는 서버에 필요합니다.)
명령 을 실행하세요 ssh
.
ssh -t user@server "PROMPT_COMMAND='' bash -l"
PS1 및 PROMPT_COMMAND는 일부 이스케이프 시퀀스를 통해 제목 표시줄을 설정하려고 시도하지 않는 한 더 복잡할 수 있습니다( \033]0;
또는\e]0;
관련된 모든 솔루션 tmux
과 screen
저주 기반 화면 행 유지로 인해 Gnome 터미널 스크롤 막대의 적절한 스크롤이 비활성화됩니다.