Truy cập các thư mục có quyền riêng tư thông qua Nautilius - Kết nối với máy chủ từ xa


9

Tôi cần truy cập vào /var/logsthư mục và nhiều thư mục như vậy trên máy chủ từ xa của mình từ nautilus, sử dụng "Kết nối với máy chủ" qua ssh. Tôi tránh đăng nhập root & đã vô hiệu hóa nó. Tôi muốn sử dụng sudothay thế, giống như tôi làm điều đó với các phiên SSH trong thiết bị đầu cuối. Làm cách nào tôi có thể sử dụng nautilus sudotrên máy chủ từ xa để có quyền truy cập? (Đăng nhập root bị vô hiệu hóa trên máy chủ)

Nếu không phải nautilus, có bất kỳ sự thay thế nào có thể giúp thực hiện điều này?


Đối với tất cả các downvoters thân yêu .. & những người đã đánh dấu điều này là trùng lặp .. đây là một câu hỏi khác nhau. Tôi cần truy cập các tập tin / thư mục trên một máy từ xa vì sudoer của máy đó không phải trên máy khách.
Rajat Gupta

Bạn có thể cụ thể hơn về lỗi của bạn?
Seth

Loại câu hỏi ngớ ngẩn. Bạn đang nói rằng bạn không thể có quyền truy cập root vì bạn ... đã vô hiệu hóa quyền truy cập root. Kích hoạt lại nó.
psusi

@psusi: Không, tôi không yêu cầu quyền truy cập gốc hay không
Rajat Gupta

Có, sudocó nghĩa là làm điều này như siêu người dùng (root). Bạn đang nói rằng bạn có thể sudotrên máy chủ theo cách thủ công, bạn chỉ cần lấy nautilus để sử dụng nó khi kết nối với máy chủ?
psusi

Câu trả lời:


6

Rõ ràng việc chạy Nautilus làm tài khoản root cục bộ của bạn (với sudo, gksu, v.v.) sẽ không cung cấp cho bạn quyền truy cập root trên máy chủ.

Vấn đề là máy chủ SFTP trong OpenSSH (là thứ mà Nautilus đang kết nối) không hỗ trợ các lệnh như sudo- đó không phải là môi trường shell. Những gì bạn yêu cầu đơn giản là không thể thông qua các cơ chế tiêu chuẩn.

Tuy nhiên bạn không phải là không có lựa chọn. Tôi không chắc bạn quen với SSH như thế nào nhưng bạn có thể chuyển các cổng qua một kết nối để bạn có thể kết nối bình thường, chạy một máy chủ FTP đơn giản như root và đường hầm tất cả trở lại máy tính của bạn qua SSH. Nghe có vẻ kinh khủng nhưng nó khá đơn giản.

Trên máy chủ, chạy:

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

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

Sau đó, từ máy tính của bạn, chỉ cần chạy một lệnh SSH ngắn:

# 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 /"

Và sau đó trong Nautilus (trên máy tính của bạn), kết nối với ftp://localhost:2121. Sự kỳ diệu của SSH sẽ chuyển tiếp đến máy chủ FTP đang chạy bằng root.

Có các giao thức khác (tôi đã dành một thời gian để tìm kiếm một giao thức tốt hơn) nhưng FTP là cách dễ nhất để khởi động và chạy nhờ phần lớn vào pyftpdlib. Bạn có thể làm những điều tương tự với webdav et al, tôi chắc chắn ... Nó sẽ chỉ là hack nhiều hơn xung quanh.


cảm ơn..tried nhưng nó nói: /usr/bin/python: No module named pyftpdlib.__main__; 'pyftpdlib' is a package and cannot be directly executedtrong khi xác thực với máy chủ.
Rajat Gupta

Thật khó chịu. Trong phiên bản cài đặt apt-get của pyftpdlib, có vẻ như bạn cần một lệnh hơi khác:sudo python -m pyftpdlib.ftpserver ...
Oli

pyftpdlib.ftpserver module is deprecatedĐây là những gì bạn nhận được khi bạn sử dụng apt-get (ít nhất là vào ngày 14.04). Dù sao, bạn cũng cần chọn cách pip
cân bằng

2

Nếu không phải nautilus, có bất kỳ sự thay thế nào có thể giúp thực hiện điều này?

Bạn đã thử WinSCP chưa? Bạn có thể tải xuống một tệp thực thi di động từ trang web của họ và thực hiện nó bằng WINE.

  • Cài đặt RƯỢU bằng cách sử dụng sudo apt-get install wine
  • Tải xuống và giải nén tệp thực thi di động từ http://winscp.net/eng/doad.php
  • Chạy WinSCP.exe bằng menu ngữ cảnh hoặc chạy wine WinSCP.exe
  • Đặt giao thức Tệp thành SCP và nhập tên Máy chủ và Tên người dùng của bạn
  • Mở cửa sổ "Nâng cao" và đặt tùy chọn Shell trong Môi trường-> SCP / Shell thành sudo su -
  • Đăng nhập vào máy chủ của bạn
  • Bây giờ bạn có thể truy cập nhật ký bằng trình chỉnh sửa nội bộ hoặc WINEs Notepad

Kéo và thả từ Nautilus cũng có thể.


0

Khởi động nautilus từ một thiết bị đầu cuối với gksudo nautilus.

Hãy nhớ rằng các công cụ GUI chạy với quyền root không phải là một chính sách tốt.


0

Đây có thể không phải là cách tốt nhất, nhưng chỉ là một suy nghĩ, nếu máy chủ từ xa của bạn đã bật X11, bạn có thể chỉ cần thực hiện một lệnh

ssh -X usr @ s ghi: ~ / gksudo nautilus.

Nhưng @Oli đã bảo vệ nó, bạn không thể sử dụng máy chủ SFTP trong OpenSSH

Ngoài ra, điều này không quá tệ với một ý tưởng, nhưng nếu bạn cũng cho phép sshuser của bạn chỉ đọc quyền truy cập vào các tệp bạn cần, vấn đề của bạn đã được giải quyết.


0

Tôi không chắc mình có trả lời đúng không nhưng có lẽ tôi có thể giúp một chút.

ssh vào máy chủ của bạn với ssh -XC user@address

Thẻ -XC sẽ dẫn cửa sổ vào máy tính của bạn khi có thứ gì đó được mở.

Sau đó thử sudo nautilusvà sau đó nautilus của máy chủ của bạn sẽ mở trên màn hình cục bộ của bạn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.