Nautilius-Connectを介してリモートサーバーにsudo権限でフォルダーにアクセスする


9

/var/logsssh経由で「サーバーに接続」を使用して、nautilusからリモートサーバー上のフォルダーとそのような多くのフォルダーにアクセスする必要があります。rootログインを避け、無効にしました。sudo代わりに、ターミナルでSSHセッションを使用する場合と同じように使用します。sudoリモートサーバーでnautilusを使用してアクセスするにはどうすればよいですか?(ルートログインはサーバーで無効になっています)

ノーチラス自体ではない場合、これを達成するのに役立つ代替手段はありますか?


すべての親愛なるダウンボーターに..&これを重複としてマークした人に..これは別の質問です。クライアントマシンではなく、リモートマシンのsudoerとしてリモートマシンのファイル/フォルダにアクセスする必要があります。
Rajat Gupta 2014

エラーについて具体的に教えてください。
Seth

ちょっとばかげた質問です。ルートアクセスを無効にしたため、ルートアクセスを取得できないと言っています。再度有効にします。
psusi 2014年

@psusi:いいえ、私はルートアクセスを要求していません。リモートマシンでsudoerをして​​いるので、nautilus(または代替として他の何か)を介してsudo特権を持つフォルダにアクセスしたいと思います。それとも?
Rajat Gupta 2014

はい、sudoこれはスーパーユーザー(root)として実行することを意味します。sudoサーバーに手動で接続できると言っていますが、サーバーに接続するときにnautilusを使用する必要があるだけですか?
psusi 2014年

回答:


6

明らかに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の魔法は、ルートとして実行されているFTPサーバーにそれを転送します。

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


thanks..triedしかしそれは言う:/usr/bin/python: No module named pyftpdlib.__main__; 'pyftpdlib' is a package and cannot be directly executedサーバーへの認証中。
Rajat Gupta 2014

いらいらする。pyftpdlibのapt-getをインストールしたバージョンでは、あなたがわずかに異なるコマンドを必要とするようだ:sudo python -m pyftpdlib.ftpserver ...
オリ

pyftpdlib.ftpserver module is deprecatedこれは、apt-get(少なくとも14.04)を使用したときに得られるものです。いずれにしても、pipの方法を選択する必要があります
2016

2

ノーチラス自体ではない場合、これを達成するのに役立つ代替手段はありますか?

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

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

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


0

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

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


0

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

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

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

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


0

私がきちんと答えているかどうかはわかりませんが、少しは役に立ちます。

サーバーにsshで ssh -XC user@address

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

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.