Nautilius-Connect를 통해 sudo 권한이있는 폴더에 액세스하여 원격 서버에 액세스


9

/var/logsssh를 통해 "서버에 연결"을 사용하여 노틸러스에서 원격 서버 의 폴더 및 이러한 많은 폴더에 액세스해야합니다 . 루트 로그인을 피하고 비활성화했습니다. sudo터미널에서 SSH 세션 을 사용 하는 것처럼 대신 사용하고 싶습니다. sudo원격 서버에서 노틸러스를 사용 하여 액세스하려면 어떻게해야합니까? (서버에서 루트 로그인을 사용할 수 없습니다)

노틸러스 자체가 아니라면이를 달성하는 데 도움이 될만한 대안이 있습니까?


사랑하는 다운 보더들과 이것을 중복으로 표시 한 사람들에게 이것은 다른 질문입니다. 클라이언트 시스템이 아닌 해당 시스템의 sudoer로 원격 시스템의 파일 / 폴더에 액세스해야합니다.
— Rajat Gupta

오류에 대해 더 구체적으로 설명 할 수 있습니까?
— Seth

바보 같은 질문입니다. 루트 액세스를 비활성화했기 때문에 루트 액세스를 얻을 수 없다고 말하고 있습니다. 다시 활성화하십시오.
— psusi

@psusi : 아니요, 루트 액세스를 요구하지 않습니다. 원격 컴퓨터의 sudoer는 nautilus (또는 다른 것)를 통해 sudo 권한이있는 폴더에 액세스하려고합니다. IMHO는 루트 액세스를 원한다는 의미는 아닙니다. 아니면 그것을합니까?
— Rajat Gupta

예, sudo수퍼 유저 (root)로이 작업을 수행해야합니다. sudo서버에서 수동으로 할 수 있다고 말하고 있습니까? 서버에 연결할 때 노틸러스를 사용하기 만하면됩니까?
— psusi

답변:


6

분명히 노틸러스를 로컬 루트 계정 (sudo, gksu 등으로)으로 실행해도 서버에 대한 루트 액세스 권한이 부여되지 않습니다.

문제는 노틸러스가 연결하는 OpenSSH 내의 SFTP 서버 sudo가 셸 환경이 아닌 것과 같은 명령을 지원하지 않는다는 것입니다. 표준 메커니즘을 통해 간단하게 요구하는 것은 불가능합니다.

그러나 당신은 옵션이 없습니다. SSH에 얼마나 익숙한 지 잘 모르겠지만 연결을 통해 포트를 다시 터널링하여 정상적으로 연결하고 간단한 FTP 서버를 루트로 실행하고 SSH를 통해 컴퓨터로 다시 터널링 할 수 있습니다. 끔찍하게 들리지만 상당히 간단합니다.

서버에서 다음을 실행하십시오.

# newer Ubuntu installs:
sudo apt-get install python-pyftpdlib

# older Ubuntu installs
sudo apt-get install python-pip
sudo pip install pyftpdlib

그런 다음 컴퓨터에서 간단한 SSH 명령을 실행하십시오.

# If you installed with pip
ssh -tL localhost:2121:localhost:2121 -L localhost:21212:localhost:21212 user@server "sudo python -m pyftpdlib -i localhost -w -p 2121 -r 21212-21212 -d /"

# If you installed with apt-get (and pyftpdlib is pre-1.3, true in 13.10)
ssh -tL localhost:2121:localhost:2121 -L localhost:21212:localhost:21212 user@server "sudo python -m pyftpdlib.ftpserver -i localhost -w -p 2121 -r 21212-21212 -d /"

그런 다음 컴퓨터의 노틸러스에서에 연결하십시오 ftp://localhost:2121. SSH의 마법은 루트로 실행되는 FTP 서버로 전달합니다.

다른 프로토콜 (더 나은 프로토콜을 찾는 데 시간을 보냈습니다)이 있지만 FTP는 (으)로 인해 가장 쉽게 시작하고 실행할 수 pyftpdlib있습니다. webdav et al과 비슷한 작업을 수행 할 수 있습니다. 확실히 ... 해킹이 훨씬 더 많을 것입니다.


/usr/bin/python: No module named pyftpdlib.__main__; 'pyftpdlib' is a package and cannot be directly executed서버에 인증하는 동안 감사 합니다.
— Rajat Gupta

짜증나 apy-get이 설치된 pyftpdlib 버전에서는 약간 다른 명령이 필요합니다 :sudo python -m pyftpdlib.ftpserver ...
— Oli

pyftpdlib.ftpserver module is deprecated이것은 apt-get을 사용할 때 얻는 것입니다 (적어도 14.04 이상). 당신은 어쨌든 핍 방법을 선택해야합니다
— balping

2

노틸러스 자체가 아니라면이를 달성하는 데 도움이 될만한 대안이 있습니까?

WinSCP를 사용해 보셨습니까? 웹 사이트에서 휴대용 실행 파일을 다운로드하고 WINE을 사용하여 실행할 수 있습니다.

  • 다음을 사용하여 WINE 설치 sudo apt-get install wine
  • http://winscp.net/eng/download.php 에서 휴대용 실행 파일을 다운로드하여 압축을 풉니 다 .
  • 상황에 맞는 메뉴를 사용하여 WinSCP.exe를 실행하거나 wine WinSCP.exe
  • 파일 프로토콜을 SCP로 설정하고 호스트 및 사용자 이름을 입력하십시오.
  • "고급"창을 열고 환경-> SCP / Shell에서 셸 옵션을 sudo su -
  • 호스트에 로그인
  • 내부 편집기 또는 WINE 메모장을 사용하여 로그에 액세스 할 수 있습니다.

노틸러스에서 드래그 앤 드롭도 가능합니다.


0

로 터미널에서 노틸러스를 시작하십시오 gksudo nautilus.

루트 권한으로 실행되는 GUI 도구는 좋은 정책이 아닙니다.


0

이것이 최선의 방법은 아니지만, 원격 서버에 X11이 활성화되어 있다면 간단히 명령을 미리 지정할 수 있습니다.

ssh -X usr @ svr : ~ / gksudo 노틸러스.

그러나 @Oli가 다루었습니다 .OpenSSH 내에서 SFTP 서버를 사용할 수 없습니다

또한 이것은 나쁘지 않은 아이디어이지만 sshuser가 필요한 파일에 대한 읽기 권한 만 허용하면 문제가 해결됩니다.


0

제대로 응답하는지 확실하지 않지만 조금 도움이 될 수 있습니다.

서버로 ssh ssh -XC user@address

-XC 태그는 무언가가 열릴 때 창을 컴퓨터로 파이프합니다.

그런 다음 sudo nautilus서버의 노틸러스가 로컬 화면에서 열립니다.

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