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.