문제는 다음과 같습니다. 저는 Windows를 제외한 거의 모든 OS에서 작동하는 Python을 사용하여 무언가를 만들었습니다. 그리고 이를 평가/사용/시도하려는 사람들에게는 Windows만 사용할 수 있다는 말을 들었습니다. 사용 가능한 모든 콘솔 에뮬레이터가 실패했으며 코드를 다시 작성하거나 해당 컴퓨터에 가상 머신을 설치할 수 있는 옵션이 없습니다.
마감일은 8시간 후이며 제가 염두에 두고 있는 것은 다음과 같습니다.
내 서버를 가져와 해당 파일만 실행할 수 있는 비밀번호 없는 사용자(예: 앱 이름 포함) 또는 별칭(파일 실행)을 생성하고 SSH 서버를 시작합니다.
그런 다음 그들이 해야 할 일은 기계에 SSH로 접속하기만 하면 프로그램이 팝업되는 것입니다. 텍스트 전용 콘솔이므로 문제가 있을 수 없습니다.
문제는 Linux 사용자를 그렇게 제한적으로 만드는 방법을 모른다는 것입니다. 어떻게 해야 합니까? 서버는 단지 테스트 머신일 뿐이며 중요한 데이터를 보관하지 않으며 일반적으로 꺼져 있거나 오프라인으로 작동하므로 여기서 보안은 큰 문제가 아닙니다. 나는 이것을 작동시키고 싶습니다. 또한 솔루션은 영구적이지 않을 것입니다. 내일 ~7시간 동안 작동해야 하며 그런 다음 자유롭게 조작하여 제대로 작동하도록 할 수 있습니다.
편집: 정보가 가득한 긴 답변에 감사하는만큼 지금은 오전 4시 30분이라고 말해야 합니다. 거의 이틀 동안 깨어 있었고 키보드 위에 기절할 예정입니다. 그러니 꼭 필요하지 않은 것은 추가하지 마세요. 처리할 수 없습니다.
답변1
ssh-keygen
공개 키와 개인 키를 생성한 SSH 인증 키를 실행하여 비밀번호 없는 로그인을 허용할 수 있습니다 . 사용자는 로그인하려면 개인 키가 필요하고 서버는 공개 키가 필요합니다. ~/.ssh/authorized_keys
자세한 정보는 다음에서 얻을 수 있습니다.
비밀번호를 묻지 않도록 SSH를 설정하는 방법
제한 사항에 대해 이 사용자를 위해 더 안전하지만 수행하는 데 훨씬 더 많은 작업이 필요한 chrooted 환경을 만들거나 인증된 키에 대해 몇 가지 제한을 만들 수 있습니다.
command="/your/script/path/filename",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pry YOUR-SSH-KEY
에서 더 많은 정보를 얻을 수 있습니다.스크립트 및 크론 작업을 위한 SSH 관리
답변2
비밀번호 없는 사용자를 생성할 수는 없지만 사용자 이름과 비밀번호 프로그램 이름을 사용하여 사용자 이름을 생성하고 /etc/ssh/sshd_config 파일에 추가했습니다. Match User testuser
그렇게 ForceCommand python /path/file.py
하면 누구나 로그인할 수 있습니다(로그인 정보는 해당 서버의 웹사이트에 있습니다). 프로그램을 종료한 후 자동으로 로그아웃됩니다.