web-dev-qa-db-ja.com

SSH(ssh&rsyncコマンド)の使用方法は?

ファイルを参照して編集できるように、リモートサーバーとSSH接続するにはどうすればよいですか?使用するユーザー名とパスワードがあります。

44
el_pup_le

SSHはすべてのUbuntuバージョンにデフォルトで付属しているので、インストールする必要がありません(既にインストールされている場合は+1です)。

もちろん、Ubuntuサーバー用のSSHサーバーが必要な場合を除きます。その場合、あなたは

Sudo apt-get install openssh-server 

これにより、コンピューター/サーバーがsshサーバーになる準備が整います。

それを使用するにはかなり簡単です:

ssh USER@SITEたとえば、ユーザー名がcyrexで、サイトがbuntu.comの場合、次のようにします。

ssh [email protected]

ここで、コンピューターからbubblegum.txtというファイルをubuntuサイトにコピーし、そのファイルをubuntuサイトの/var/wwwフォルダーに残したいとします。 SSHのBrother SCP(Ubuntuでもデフォルトで提供されています)を使用して、これを行うことができます(ユーザーがubuntuサイトで十分な権限を持っていると仮定します):

scp bubblegum.txt [email protected]:/var/www 

USER @ SITEとコピー先のフォルダーの間の:に注意してください。両方の要素を分離するものです。

ここで、scpを使用して巨大なファイルをアップロードすると、最悪の事態が発生したとしましょう。世界が爆発します。そのファイルをサーバーにアップロードし続けるにはどうすればいいですか。その後、SCPの兄であるrsync(Ubuntuでデフォルトで使用可能)になりました。多くの点でscpとrsyncは同じことをしますが、ここに大きな違いがいくつかあります。

  • rsyncは、切断または世界支配の後、rsyncまたはscpから残された部分ファイルをアップロードできます。
  • rsyncはscpよりもはるかに優れた進捗を表示できます
  • rsyncは、アップロードの時間を実際に数秒または数分節約できるように、アップロードを最適化できます。また、アップロードの最後に保存した量も表示されます。

とにかく、scpがファイル全体をアップロードできなかった場合、これがrsyncの助けになります。 (ヒントをくれたMarco Ceppiに感謝します。猫や犬が好きならコメントを投票してください)

Scpから上記のアップロードについて言及したとしましょう。60%に達しました。アップロードする価値のある時間を失うことなく、どうしてその60%を続けることができますか。あなたはこれをするでしょう:

rsync --progress --partial bubblegum.txt [email protected]:/var/www  

これにより、--progressフラグを使用して、人間が読める形式で進行状況を表示するようにrsyncに指示します。また、--partialフラグを使用して、bubblegum.txtファイルが到達した場所からチェックして続行するようにrsyncに指示します。また、-progressおよび--partialと同じ-Pパラメーターを使用して書き込む量を単純化することもできるため、上記は次のようになります。

rsync -P bubblegum.txt [email protected]:/var/www  

あなたもできます CTRL+C 上記のrsyncのコマンドを実行して、アップロードと再開を行います。いつでもいつでも何かを再開できる機能があるのはとてもクールです。

Ubuntuにデフォルトで付属しているrsyncの詳細については、次の端末コマンドを入力できます。

man rsync  
info rsync  
rsync --help

次に、SSHのポートを指定します。指定するには、次のようにします。

ssh [email protected] -p PORT。例:ssh [email protected] -p 1234は、SSHサービスにポート1234を使用するように指示します。これを機能させるには、まずサーバーで構成する必要があります。

それを設定するには、サーバーでファイルssh_configを開きます:nano /etc/ssh/ssh_configそして、# port 22という行を別のポートに変更します。また、その行からコメントを削除することを忘れないでください。上記の例の場合、port 1234のようになります。

サーバーでsshサービスを再起動するだけで完了です。サービスを再起動するには、次のようにします。

Sudo restart ssh

または

Sudo /etc/init.d/ssh restart

注-FTPの代わりにsshを使用するオプションを提供するfilezillaなどのGUIツールからSSHを使用することもできます。 sshはUbuntuメニューからもアクセスできます。

enter image description here

Windows共有、SSHおよびFTPを含むいくつかのオプションにアクセスできます。

enter image description here

SSHの詳細については、Ubuntuボックスのコンソールで次のコマンドのいずれかを使用できます。

man ssh  
info ssh  
ssh --help
49
Luis Alvarado

ローカルマシン上のファイルを使用する場合のように、Nautilusを使用してサーバーを参照する場合:

  1. Nautilus(「ホームフォルダー」)を開きます
  2. [ファイル]-> [サーバーに接続]に移動します

    Connect to server

  3. [サービスの種類]で[SSH]を選択します

  4. IPアドレスまたはドメインを「サーバー」の下に配置します

    Select SSH

  5. ブックマークに場所を保存する場合は、ユーザー名を追加し、「ブックマークを追加」にチェックマークを付けます。

フォルダがすぐに開きます。

23
jamesadney

sshfsを使用して、リモートディレクトリをローカルファイルシステムにマウントできます。

https://help.ubuntu.com/community/SSHFS を参照してください:

コマンドラインの使用

ここで、リモートマシンでSSHサーバーが実行されていると仮定して、SSHFSコマンドを実行してリモートディレクトリをマウントします。この例では、リモートディレクトリはリモートホストfarの/ projectsです。ローカルマウントポイントは〜/ far_projectsです。

mkdir ~/far_projects
sshfs -o idmap=user $USER@far:/projects ~/far_projects

マウント解除するには、

fusermount -u ~/far_projects

/ etc/fstabに追加するには、

sshfs#$USER@far:/projects /home/$USER/far_projects Fuse defaults,idmap=user 0 0

Fstabを編集するときは、$ USERをログイン名に変更する必要がありますが、コマンドを入力するときには必要ないことに注意してください(その場合、シェルが自動的に行います)。

6
Stacey Richards

Sshサーバーが既にセットアップされていると仮定して、ターミナルを開き、次のように入力します。

ssh username@hostname

パスワードの入力を求められます。ただ入力してください。ポート番号が必要な場合は、-p PORTNUMを追加します。

4
Dang Khoa

Vim、Picoなどを使用できる場合は、ターミナルを使用できます。

ssh [email protected]

パスワードを入力すると、あなたはそこにいます。そこからは、GUIを持たないことを除けば、通常の端末のようになります。

注:「-X」オプションを追加できます。サーバーにXサーバーが構成されている場合は、can GUIプログラムを実行します。 -Xを追加した場合は名前を入力するだけで、GUIウィンドウが起動します。

ここで、おそらくパスワードなしのログインを設定する必要があります。キーがまだない場合は、ssh-keygenと入力し、Enterキーを押してすべてのデフォルト値を入力します。次に、ssh-copy-id [email protected]を実行します。完了したら、ssh [email protected]と入力するだけで、パスワードを入力する必要はありません!

ユーザー名がラップトップのユーザー名と同じ場合、MYUSER@は必要ありません。 ssh mysite.comを実行するだけです。 -l MYUSERの代わりにMYUSER@オプションを使用することもできます

GUIが必要な場合、Nautilusはこれを行うことができます。ファイル->サーバーに接続-> ['SSH'を選択し、ログイン詳細を入力] ->接続。

単一のファイルのみをコピーする場合は、scp [secure copy]を使用します。
scp [email protected]:path/to/file.dat ./

これにより、ファイル「〜/ path/to/file.dat」が現在のディレクトリにコピーされます。 :の後にスラッシュまたはチルダがない場合、ホームディレクトリ[~/]にいるように動作することに注意してください。アップロードする場合は、scp ./local_file.dat [email protected]:でホームディレクトリに保存されます。

2
Matt

ssh -X -C user@Host nautilus --no-desktopはGUIモードになります:)

0
morgie