インターネット経由でUnixシステムに接続する場合、パスワードやその他のデータを安全に保つために、接続を暗号化することが重要です。これを行う簡単な方法は、コンピュータにSSHクライアントをインストールし、それを使ってコマンドライン接続を行うことです。このWikiHowでは、WindowsにSSHクライアントをインストールする方法(LinuxとmacOSにはすでにSSHがあります)と、セキュアシェルを使ってリモートホストに接続する方法を説明します。
初めて接続する
-
SSHをインストールする。Windowsの場合、SSHクライアントプログラムをダウンロードしてインストールする必要があります。最もポピュラーなものは 、開発者のウェブサイトから無料で入手できます。他のプログラムと同じようにダウンロードしてインストールしてください。もう1つの人気のある無料プログラムは、.NET Frameworkです。
- Cygwinのインストール中に、NetセクションからOpenSSHのインストールを選択する必要があります。
- LinuxとMac OS Xには、すでにSSHがインストールされています。これは、SSHがUNIXシステムであり、LinuxとOS XがUNIXから派生したものだからだ。
- Windows 10のアニバーサリーアップデートの場合は、SSHがプリインストールされているOpenSSHをインストールすることができる。
-
SSHを実行する。Cygwinでインストールされているターミナル・プログラムを開くか、Windows 10ならWindows上のUbuntuでBashを、OS XやLinuxではターミナルを開く。SSHはターミナル・インターフェースを使って他のコンピューターとやりとりする。SSHにはグラフィカル・インターフェースはないので、コマンドの入力に慣れる必要がある。
-
接続をテストする。安全な鍵の作成とファイルの移動に取りかかる前に、SSHがあなたのコンピュータと接続先のシステムで正しく設定されていることをテストしておきましょう。以下のコマンドを入力し、
をリモートコンピューター上のユーザー名に、 をリモートコンピューターまたはサーバーのアドレスに置き換えてください: - ssh <ユーザー名>@<リモート
- ポートを指定したい場合は、-p 0000を追加します(0000は希望のポート番号に置き換えてください)。
- 接続が確立されると、ユーザー名を聞かれます。パスワードを入力しても、カーソルが動いたり、文字が入力されたりすることはありません。
- この手順が失敗する場合は、お使いのコンピューターでSSHが正しく設定されていないか、リモートコンピューターがSSH接続を受け付けていない可能性があります。
基本コマンドを学ぶ
-
SSHシェルに移動するリモートコンピュータに最初に接続すると、HOME ディレクトリにいるはずです。ディレクトリ構造を移動するには、cd コマンドを使用します:
- cd ... で1つ上のディレクトリに移動します。
- cd <ディレクトリ名> は、指定したサブディレクトリに移動します。
- cd /home/directory/path/ は、ルート(ホーム)から指定したディレクトリに移動します。
- cd ~ は、ホーム・ディレクトリに戻る。
-
カレント・ディレクトリの内容を確認する。現在の場所にあるファイルやフォルダの内容を確認するには、lsコマンドを使います:
- lsは、現在のディレクトリにあるすべてのファイルとフォルダを一覧表示します。
- ls -lは、サイズ、パーミッション、日付などの追加情報とともに、ディレクトリの内容を一覧表示します。
- ls-aは、隠しファイルや隠しフォルダを含むすべてのコンテンツを一覧表示します。
-
自分の場所からリモートコンピュータにファイルをコピーする。ローカルコンピュータからリモートアクセスしているコンピュータにファイルをコピーする必要がある場合は、scpコマンドを使用できます:
-
scp /localdirectory/example1.txt
@ : は、example1.txtをリモートコンピュータの指定した にコピーします。 を空白のままにすると、リモートコンピュータのルートフォルダにコピーされます。 - scp <ユーザー名>@<リモート>:/home/example1.txt ./ は、example1.txtをリモートコンピュータのホームディレクトリからローカルコンピュータのカレントディレクトリに移動します。
-
scp /localdirectory/example1.txt
-
シェルを使ってファイルをコピーするcpコマンドを使用すると、同じディレクトリまたは任意のディレクトリにファイルのコピーを作成できます:
- cp example1.txt example2.txtは、example1.txtのコピーをexample2.txtという名前で同じ場所に作成します。
- cp example1.txt <ディレクトリ>/は、example1.txtのコピーを<ディレクトリ>で指定された場所に作成します。
-
ファイルの移動と名前の変更ファイル名を変更したり、コピーせずに移動したい場合は、mvコマンドを使うことができる:
- mv example1.txt example2.txtはexample1.txtをexample2.txtにリネームします。ファイルは同じ場所に残ります。
- mv directory1 directory2 は directory1 を directory2 にリネームします。ディレクトリの内容は変更されません。
- mv example1.txt directory1/ は example1.txt を directory1 に移動します。
- mv example1.txt directory1/example2.txt は、example1.txt を directory1 に移動し、example2.txt にリネームします。
-
ファイルとディレクトリの削除接続しているコンピューターから何かを削除する必要がある場合は、rmコマンドを使うことができる:
- rm example1.txtはexample1.txtファイルを削除します。
- rm example1.txt は、example1.txt ファイルを削除します。
- rm directory1/ は、ディレクトリ1とそのすべての内容を削除します。
-
ファイルのパーミッションを変更する。chmodコマンドを使って、ファイルの読み取り権限と書き込み権限を変更できます:
- chmod u+w example1.txtは、ユーザー(u)のファイルに書き込み(変更)権限を追加します。グループ・パーミッションにはg修飾子を、ワールド・パーミッションにはo修飾子を使うこともできる。
- chmod g+r example1.txtは、グループ用のファイルに読み取り(アクセス)パーミッションを追加します。
- システムのさまざまな側面を保護したり開いたりするために使用できるパーミッションのリストはたくさんある。
-
その他の基本的なコマンドを覚えよう。シェル・インターフェースでよく使う重要なコマンドがいくつかあります。それらは以下の通りです:
- mkdir newdirectory は newdirectory という新しいサブディレクトリを作成します。
- pwd は現在のディレクトリの場所を表示します。
- who は、誰がシステムにログインしているかを表示します。
- pico newfile.txtまたはvi newfile.txtは新しいファイルを作成し、ファイルエディターを開きます。システムによって、インストールされているファイル・エディターは異なります。最も一般的なのはpicoとviである。インストールされているファイルエディターが異なる場合は、別のコマンドを使う必要があるかもしれない。
-
コマンドの詳細情報を入手する。あるコマンドが何をするのかよくわからない場合、manコマンドを使えば、可能なすべての用途とパラメータについて知ることができる:
-
man
はそのコマンドに関する情報を表示する。 -
man
はそのコマンドに関する情報を表示する。 man -k は、指定したキーワードに関するすべてのmanページを検索する。
-
man
暗号化キーの作成
-
SSHキーを作成します。この鍵があれば、毎回パスワードを入力しなくてもリモートロケーションに接続できるようになります。パスワードをネットワーク経由で送信する必要がないため、より安全なリモートコンピュータへの接続方法です。
- mkdir .ssh コマンドを入力して、コンピュータ上に鍵フォルダを作成します。
- コマンドを使用して、公開鍵と秘密鍵を作成します。
- 鍵のパスフレーズを作成するかどうか尋ねられますが、これはオプションです。パスフレーズを作成したくない場合は、Enterキーを押します。これにより、.ssh ディレクトリに id_rsa と id_rsa.pub という 2 つの鍵が作成されます。
- 秘密鍵の権限を変更します。秘密鍵を自分だけが読めるようにするには、$ chmod 600 .ssh/id_rsaというコマンドを入力します。
-
公開鍵をリモート・コンピュータに置きます。鍵の作成が完了したら、パスワードなしで接続できるように、リモートコンピュータに公開鍵を配置する準備が整いました。先ほど説明したように、適切な部分を置き換えて、以下のコマンドを入力する:
- scp .ssh/id_rsa.pub <ユーザ名>@<リモート>:
- コマンドの最後にコロン(:)があることを確認してください。
- ファイル転送を開始する前に、パスワードの入力を求められます。
-
公開鍵をリモートコンピュータにインストールします。鍵をリモートコンピュータに配置したら、正しく動作するように鍵をインストールする必要があります。まず、ステップ3と同じ方法でリモートコンピュータにログインします。
- リモートコンピュータにSSHフォルダがまだ存在しない場合は、作成します。
- あなたの鍵を認可された鍵ファイルに追加します。ファイルがまだ存在しない場合は、作成されます。 $ cat id_rsa.pub >> .ssh/authorized_keys
- SSH フォルダのパーミッションを変更して、アクセスを許可します。
-
接続がうまくいくことを確認する。リモート・コンピュータに鍵がインストールされると、パスワードの入力を求められることなく接続を開始できるはずです。次のコマンドを入力して接続をテストします。
- パスワードの入力を要求されずに接続できれば、鍵は正しく設定されています。
コメント
最新を表示する
NG表示方式
NGID一覧