대규모 딥 러닝 모델을 실행하는 GPU와 함께 우분투를 실행하는 서버가 있습니다. 나는 이 서버가 먼저 SSH를 통해 입력이 포함된 요청을 수락한 다음 해당 입력을 DL 모델에 공급하여 출력을 얻고(btw, Python 스크립트를 통해 모델 실행) 마지막으로 SSH를 통해 출력을 원래 보낸 사람에게 반환하기를 원합니다. 어떻게 해야 하나요? 서비스를 설정하려고 생각했는데 더 좋은 방법이 있을 수도 있습니다. 어떤 제안이라도 환영합니다. 감사해요.
답변1
man sshd
;섹션 AUTHORIZED_KEYS FILE FORMAT
;옵션command="command"
예는 다음과 같습니다.
$ head ~/.ssh/authorized_keys
command="cat > /home/vagrant/ssh-output" ssh-rsa AAAAB3NzaC1yc...
$ ls ssh-output
ls: cannot access 'ssh-output': No such file or directory
$ echo 'blah blah blah' | ssh -i .ssh/id_rsa localhost
Pseudo-terminal will not be allocated because stdin is not a terminal.
$ cat ssh-output
blah blah blah
쉘이 생성되지 않는지 확인하십시오. 대신 클라이언트 측의 파이프 입력이 ssh
SSH 서버 측의 cat 표준 입력으로 전달됩니다. 귀하의 시나리오에서는 command=""
Python 스크립트의 경로로 바꿀 수 있습니다.
이 기능을 구성하려면 먼저 사용자와 사용자의 pub_key를 알아야 합니다. 이는 범용 구성이 아닙니다. 이제 사용자 이름과 개인 키를 공개하면 사용자에게 이를 사용하도록 지시하고 이를 범용 서비스로 제공할 수 있지만 공유 개인 키(특히 공개/일반적으로 사용되는 키)는 쉽게 남용될 수 있습니다.
또한 이 구성을 사용하면 클라이언트가 이 컴퓨터에 대한 포트 전달 또는 X11 전달을 열 수 있습니다. 이는 제한될 수 있습니다. 관련 매뉴얼 페이지를 알려드리겠습니다.