리눅스 서버에서 단일 ssh 연결을 통해 여러 터미널을 어떻게 사용합니까?


15

로 여러 번의 로그 파일을보기 위해 여러 개의 ssh 연결을 여는 경우가 많습니다 tail -f.

암호가없는 로그인에 공개 키 암호화를 사용하기 때문에 집에있을 때는 문제가되지 않습니다. 그러나 나는 종종 내 대학에서 컴퓨터를 사용하여이를 수행하므로 개인 키를 사용할 수있는 옵션이 없습니다. 여러 터미널 창을 얻으려면 암호를 4 ~ 5 번 입력하는 것이 성가신 일입니다.

단일 연결로 여러 터미널을 어떻게 구할 수 있습니까?

답변:


38

GNU screen 만 사용 하면 원격 세션을 시작하고 연결이 끊어지면 복원 할 수 있으므로 좋습니다. 대부분의 배포판에 패키지로 제공되며 대학 시스템에 이미 설치되어있을 수도 있습니다.

매뉴얼은 당신에게 모든 명령을 덧붙일 수 있습니다 기본적으로 당신이 시작하는 데 필요한 모든 것을 줄 것이다 Ctrl+A. 예를 들어 화면 도움말을 표시하려면을 누른 Ctrl+A다음?


나는 몇 년 동안 리눅스 관리자였으며 하루에 여러 번 화면을 사용합니다.

화면이없는 서버는 없습니다.
Gert M

2
지난 몇 시간 동안 스크린을 사용한 후 나는 그것없이 살았다 고 믿을 수 없다! 나는 5 년 동안 잘못했다.
epochwolf


4

SSH 연결 공유에 대한 다음 두 기사를 살펴보십시오.

http://fermiparadox.wordpress.com/2008/06/19/ssh-connection-sharing/
http://protempore.net/~calvins/howto/ssh-connection-sharing/

기본적으로 ssh 연결 공유 에서 Google 검색을 수행하면 다른 기사를 찾을 수 있습니다.


1
흥미 롭군 한 가지 문제는 인터넷 연결이 끊어지면 소켓을 삭제하지 않고 다시 연결할 수 없다는 것입니다. 연결할 수 없으면 서버로 들어가서 소켓을 삭제하는 방법은 무엇입니까?
epochwolf

서버에서 소켓을 삭제할 필요는 없으며 클라이언트 측 공유뿐입니다. 따라서`ssh foo '를 한 번 실행하면 ssh foo 명령을 실행 한 것과 동일한 머신에 소켓이 생성됩니다. 서버는 별도의 tty에서 여러 로그인을 볼 수 있으므로 "정상"별도 로그인과 다른 점을 알지 못합니다.
David Gardner

3

아마도 X 전달을 사용하여 로컬 데스크톱에서 여러 원격 xterm을 열 수 있습니다.


서버에 X11이 설치되어 있지 않습니다. 또한 X 서버를 설치할 수없는 Windows 시스템에서는 작동하지 않습니다.
epochwolf

Linux 서버에는 로컬 데스크톱에 표시되는 그래픽 응용 프로그램을 실행하기 위해 X11이 필요하지 않습니다. 또한 Cygwin X-Server는 내 홈 박스에서 X를 실행하지 않고 내 홈 Linux 상자에서 Firefox와 같은 것을 실행하는 데 효과적이며 로컬 Windows 랩톱에서 잘 표시됩니다.
shapr

2

다른 시스템에서 개인 키를 사용할 수없는 이유는 없습니다. 머신별로 생성하고 해당 키를 authorized_hosts에 추가하십시오.

여전히 화면을 사용하십시오.


퍼블릭 컴퓨터에 개인 키를 사용하는 것이 좋은 생각입니까? 특히 열쇠에 암호를 쓰지 않았다는 것을 고려하면?
epochwolf

1
다른 곳에서 사용하는 것과 동일한 키를 사용하지 않을 것입니다. 암호를 사용하여 새 키를 생성하고 공개 키를 서버의 authorized_keys 파일에 추가합니다. "portablekey"와 같은 이름을 지정하고, 권한이 있다고 생각되면 authorized_keys에서 가져 오십시오.
Neall

2

byobu 를보고 싶을 수도 있습니다 . Screen의 향상된 버전이며 Ubuntu 프로젝트라고 생각합니다. 그러나 Ubuntu 9.10 이상에서는 표준으로 제공됩니다.

나는 여전히 습관적으로 Screen을 사용하는 경향이 있지만이 새로운 대안을 언급하고 싶었습니다.


1

당신이 그것을 사용하는 모든 여러 파일을 tailing하는 경우 multitail에 관심이있을 수 있습니다 .


재미있는 링크. 방금 가장 일반적인 사용법을 언급했습니다. 또한 vim과 bash를 전환하여 경로를 찾아야합니다.
epochwolf

1

언급되지 않은 화면 기능 중 하나는 화면을 "분리"하는 것이며 해당 화면에서 실행중인 모든 명령을 계속 실행합니다. 화면이 분리되면 로그 아웃 할 수 있으며 로그 오프 한 후에도 화면이 계속 끊어집니다. 화면을 시작한 다음 몇 가지 c 명령을 수행하여 새로운 '하위 화면'을 만듭니다. 나는 그것들 사이를 전환하고 오래 실행되는 컴파일 또는 데이터 처리를 시작할 수 있으며, 내 거친 VPN 연결로 인해 모든 것이 죽게 될 것입니다.

로그 오프 한 후 다시 로그인하여 'screen -R'을 사용하면 기존 화면 sessoins에 다시 연결됩니다.


0

screen와 함께 사용하려면 다음을 ssh입력하십시오.

ssh -t <user>@<server> screen -r

( 소스 ). 남자 ssh :

-t 의사 터미널 할당을 강제합니다. 이는 원격 컴퓨터에서 임의의 화면 기반 프로그램을 실행하는 데 사용할 수 있으며, 예를 들어 메뉴 서비스를 구현할 때 매우 유용합니다. ssh에 로컬 tty가 없더라도 다중 -t 옵션은 tty 할당을 강제합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.