컨테이너 자체에 SSH를 연결할 필요 없이 Proxmox를 통해 SSH를 통해 LXC 컨테이너에 연결하고 싶기 때문에 lxc-attach <ID>
먼저 Proxmox 호스트에 연결한 다음 나에게 연결된 컨테이너를 실행하면 원하는 결과를 얻을 수 있습니다.
이제는 한 번에 다 해보고 싶어요. 이를 위해 내 rc 파일에 다음과 같은 기능이 있습니다.
sshc() { ssh $1 "lxc-attach $2; bash -i" }
작동하지만 터미널에서는 다음과 같이 보입니다.
이는 다음과 같이 다르게 보일 것입니다.
root@root1543:~# lxc-attach 1111
root@container:~# pwd
/root
root@container:~#
현재 셸에서 사용자와 호스트를 보고 싶지만 내 솔루션에는 표시되지 않습니다.
SSH 구성에서 RemoteCommand를 변경하는 것도 고려했지만 RemoteCommand에 매개변수를 전달할 수 없는 것 같아서 그 시도를 포기했습니다.
답변1
통화에 "-t" 옵션을 추가하세요 ssh
.
sshc() { ssh -t $1 "lxc-attach $2; bash -i" }
원격 시스템에서 실행되는 명령으로 호출 하면 ssh
기본적으로 세션에 TTY가 할당되지 않습니다. "-t"를 추가하면 ssh가 세션에 대해 TTY를 요청하도록 지시합니다.
대화형 세션은 일반적으로 TTY를 통해 작동하여 백스페이스 키를 사용하여 입력한 내용을 편집하는 기능과 같은 특정 기능을 제공합니다. 또한 쉘은 TTY의 존재를 사용하여 명령줄 프롬프트 인쇄와 같은 상호 작용 여부를 결정합니다.