Windows의 Samba를 통해 Linux에서 프로그램을 실행하려면 두 번 클릭하세요.

Windows의 Samba를 통해 Linux에서 프로그램을 실행하려면 두 번 클릭하세요.

나는 이와 같은 삼바 액세스 권한을 가진 로컬 사용자 계정을 가진 서버를 가지고 있습니다.

\\myserver홈 디렉토리로 이동하도록 합니다.

Linux의 지정된 삼바 공유 폴더에 파일이 있고 startvncsession.x사용자가 SSH를 통해 Linux 서버에 연결하지 않고도 마우스로 모든 작업을 수행할 수 있기를 원합니다. 삼바 창 열기 - exe 파일을 두 번 클릭하면 vncserver해당 Linux 서버의 명령줄에서 실행되는 명령입니다 .

그런 일이 가능합니까? 그렇다면 어떻게 가능합니까?

현재 이 문제를 일으키는 C 코드가 있지만 dcv create-session <username>사용자는 Linux 명령줄에 putty를 입력한 startvncsession.x다음 putty를 종료해야 합니다. 많은 사용자는 Linux를 모르고 마우스 클릭만으로 모든 작업을 수행하고 입력할 내용을 기억할 필요가 없습니다.

답변1

문제는 서버에 있는 모든 스크립트나 프로그램이 사용자가 설명하는 방식으로 액세스할 때 사용자의 로컬 컴퓨터에서 실행된다는 것입니다.

한 가지 가능한 해결 방법은 설명하는 현재 프로세스(사용자가 PuTTY를 통해 연결하고 프로그램을 실행한 다음 로그아웃)를 기반으로 하고 프로세스를 사용자의 로컬 시스템에서 실행되는 스크립트로 자동화하는 것입니다. 이미 PuTTY가 설치되어 있으므로 이를 수행하는 한 가지 방법은 Plink를 사용하는 것입니다. (Plink의 문서 찾기여기) Plink를 사용하면 Linux에서 SSH 클라이언트를 사용하는 것처럼 SSH 세션을 시작하고 명령줄에서 명령을 실행할 수 있습니다. 다음 내용으로 배치 스크립트(.bat)를 생성하고 필요에 따라 변수 값을 변경하는 것을 고려해보세요.

@ECHO OFF
SET ssh_server=192.168.0.100
SET ssh_user=ron
SET ssh_pass=mynameisron
SET putty_path="C:\Program Files\PuTTY"
SET ssh_cmd="startvncsession.x"
%putty_path%\plink.exe -no-antispoof -ssh -pw %ssh_pass% %ssh_user%@%ssh_server% %ssh-cmd%

처음 실행하면 캐시에 키를 추가하라는 메시지가 표시되지만 이후 실행에서는 메시지가 표시되지 않습니다.

가장 큰 문제는 사용자의 자격 증명이 스크립트 내에 일반 텍스트로 저장된다는 것입니다. 이 문제를 해결하려면 다음과 같이 비밀번호 변수와 매개변수를 제거하고 사용자 이름을 유지하면 됩니다.

@ECHO OFF
SET ssh_server=192.168.0.100
SET ssh_user=ron
SET putty_path="C:\Program Files\PuTTY"
SET ssh_cmd="startvncsession.x"
%putty_path%\plink.exe -no-antispoof -ssh %ssh_user%@%ssh_server% %ssh-cmd%

위 명령을 실행하면 매번 사용자에게 비밀번호를 묻는 메시지가 표시됩니다. 또는 공개 키 인증을 설정할 수 있습니다(위에 링크된 설명서 참조).

모든 사용자가 사용할 수 있도록 보다 일반적으로 만들려면 다음과 같이 사용자 변수와 매개변수를 제거하면 됩니다.

@ECHO OFF
SET ssh_server=192.168.0.100
SET putty_path="C:\Program Files\PuTTY"
SET ssh_cmd="startvncsession.x"
%putty_path%\plink.exe -no-antispoof -ssh %ssh_server% %ssh-cmd%

이 스크립트를 사용하면 사용자에게 사용자 이름과 비밀번호를 묻는 메시지가 표시됩니다.

관련 정보