web-dev-qa-db-ja.com

Nautilus-Connect to remote server経由でSudo特権を持つフォルダーにアクセスする

Ssh経由で「サーバーに接続」を使用して、nautilusからリモートサーバー上の/var/logsフォルダーと多くのそのようなフォルダーにアクセスする必要があります。ルートログインを避け、無効にしました。端末でSSHセッションを使用するのと同じように、代わりにSudoを使用します。 nautilusがリモートサーバーでSudoを使用してアクセスする方法を教えてください。 (サーバーでルートログインが無効になっています)

オウムガイ自体ではない場合、これを達成するのに役立つ可能性のある代替手段はありますか?

10
Rajat Gupta

明らかにNautilusをローカルルートアカウント(Sudo、gksuなどを使用)として実行しても、サーバー上のルートアクセスは許可されません。

問題は、OpenSSH内のSFTPサーバー(Nautilusが接続しているもの)が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 /"

次に、(コンピューターの)Nautilusでftp://localhost:2121に接続します。 SSHの魔法は、それをrootとして実行されているFTPサーバーに転送します。

他のプロトコルもあります(私はしばらくの間、より良いものを探していました)が、FTPは、pyftpdlibのおかげで、立ち上げと実行が最も簡単です。 webdavなどでも同様のことができると思いますが、きっともっとハッキングされるでしょう。

6
Oli

オウムガイ自体ではない場合、これを達成するのに役立つ可能性のある代替手段はありますか?

WinSCPを試しましたか? Webサイトからポータブル実行可能ファイルをダウンロードし、WINEを使用して実行できます。

  • Sudo apt-get install wineを使用してWINEをインストールします
  • http://winscp.net/eng/download.php からポータブル実行可能ファイルをダウンロードして解凍します
  • コンテキストメニューを使用してWinSCP.exeを実行するか、wine WinSCP.exeを実行します
  • ファイルプロトコルをSCPに設定し、ホスト名とユーザー名を入力します
  • 「詳細」ウィンドウを開き、環境-> SCP/ShellのシェルオプションをSudo su -に設定します
  • ホストにログイン
  • これで、内部エディターまたはWINEs Notepadを使用してログにアクセスできます

Nautilusからのドラッグアンドドロップも可能です。

2
Andreas Hacker

これは最善の方法ではないかもしれませんが、考えてみてください。リモートサーバーでX11が有効になっている場合は、単にコマンドを事前に入力できます。

ssh -X usr @ svr:〜/ gksudo nautilus。

しかし、@ Oliはそれをカバーし、OpenSSH内でSFTPサーバーを使用することはできません

また、これはそれほど悪い考えではありませんが、sshuserに必要なファイルへの読み取りアクセスのみを許可すると、問題は解決します。

0
kmassada

gksudo nautilusを使用して、ターミナルからnautilusを起動します。

ルート権限で実行するGUIツールは適切なポリシーではないことに注意してください。

0
migas

私は適切に答えているかどうかはわかりませんが、多分少し助けることができます。

ssh -XC user@addressを使用してサーバーにSSH接続します

-XCタグは、何かが開かれたときにウィンドウをコンピューターにパイプします。

次にSudo nautilusを試すと、サーバーのnautilusがローカル画面で開きます。

0
Mr.Lee