Jump to content 日本-日本語
日本HPホーム 製品 & サービス サポート & ドライバー ソリューション ご購入方法
お問い合わせ

製品とサービス  >  ソフトウェアとOS  >  HP-UX   >  Knowledge-on-Demand  >  UNIXの教科書 運用編

UNIXの教科書 運用編
〜はじめよう! WindowsとLinuxからのステップアップ〜

第5日目:ネットワーク関連のコマンド

HP-UX/Integrityサーバー お問い合せ
コンテンツに進む
UNIXの教科書 運用編 第5日目:ネットワーク関連のコマンド
UNIXの教科書 運用編〜はじめよう! WindowsとLinuxからのステップアップ〜
ネットワークのテストコマンド
リモートログインとファイル転送
ページ:  戻る   |   1   2

2時間目:リモートログインとファイル転送

2時間目では、telnet、ssh、ftpといったリモートログインやファイル転送のためのネットワーク・クライアントの基本的な使い方について説明しましょう。いずれもHP-UXに標準で用意されているコマンドです。

telnetコマンドによるリモートログイン

telnetコマンドは、古くからあるリモートログインコマンドです。Telnetサーバーが動作しているホストに接続するには、次の書式で実行します。

telnet ホスト名もしくはIPアドレス

たとえば、Telnetサーバーが動作中のホスト「hp2」に接続するには次のようにします。

$ telnet hp2  【Enter】
Trying...
Connected to hp2.
Escape character is '^]'.
Local flow control on
Telnet TERMINAL-SPEED option ON

***************************************************************************
                            NOTICE TO USERS

〜中略〜

login: taro ←ユーザー名を入力
Password:  ←パスワードを入力

〜中略〜

$  ←ログインプロンプトが表示される

接続を解除するにはexitコマンドを実行します。

マリー先生
マリー先生:
ネットワークのプロトコルはテキストベース、つまりコマンドのやりとりをASCII文字列で行うものが少なくないの。telnetコマンドはそれらのテキストベースのプロトコルを確認する目的でもしばしば使われるのよ。
四色君:
たとえばどんなプロトコルですか?
四色君
マリー先生
マリー先生:
例を挙げれば、Webやメールなどはコマンドや内容の一部はテキスト、つまり文字データとして送信されるわ。そのためには、次のようにポート番号を指定してtelnetコマンドを実行するの。

telnet ホスト名もしくはIPアドレス ポート番号
タックス君:
Telnetのウェルノンポートは23ですから、ポート番号を省略すると23番ポートに接続されるわけですね。
タックス君
マリー先生
マリー先生:
そういうこと。それじゃあ、一例としてWebサーバーが動作中のホスト「host1」に接続してHTMLファイル「index.html」を取得する例を示すわね。

$ telnet host1 80 ←host1の80番ポートに接続  【Enter】
Trying...
Connected to host1.example.com.
Escape character is '^]'.
GET /index.html HTTP/1.1 ←GETコマンドでindex.htmlを取得
host:host1.example.com  ←ホストを指定
	←空行
HTTP/1.1 200 OK
Date: Fri, 08 Jan 2010 13:43:01 GMT
Server: 
Apache/2.2.13 (Unix) mod_ssl/2.2.13 OpenSSL/0.9.8k DAV/2 PHP/5.3.0
Content-Location: index.html.en
Vary: negotiate
TCN: choice
Last-Modified: Sat, 20 Nov 2004 20:16:24 GMT
ETag: "d67240d-2c-3e9564c23b600;4748fc723cc40"
Accept-Ranges: bytes
Content-Length: 44
Content-Type: text/html
Content-Language: en

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd"> ↑メッセージボディ
<html><head>
<title>Sample</title>
<meta http-equiv="Content-type" content="text/html; charset=UTF-8">
</head>
<body bgcolor="#FFFFFF">
<h1>Hello World</h1>
</body>
</html>

Connection closed by foreign host

SSHによる安全なリモートログイン

Telnetプロトコルは、アカウント情報や通信の内容がすべて平文(暗号化されていないテキスト)で送信されますので、容易に盗聴されてしまいます。そのため、特にインターネット上に公開されているサーバーではTelnetによるリモートログインを禁止している場合がほとんどです。その代わりに普及しているのが、ログイン情報を含めて通信の内容をすべて暗号化してモートログインが可能なSSH(セキュアシェル)です。

タックス君:
SSHには商用のものとオープンソースのものがあると聞いたのですが。
タックス君
マリー先生
マリー先生:
そうね。HP-UXに標準付属しているのはオープンソースのSSHであるOpenSSHよ。sshコマンドを「-V」オプションを付けて実行すると、バージョンを確認できるわ。

$ ssh -V  【Enter】

OpenSSH_4.7p1+sftpfilecontrol-v1.2-hpn12v17, 
OpenSSL 0.9.7m 23 Feb 2007
HP-UX Secure Shell-A.04.70.023, HP-UX Secure Shell version
四色君:
リモートログインはSSHに限定することにした場合、Telnetサーバーを停止することはできるのですか?
四色君
マリー先生
マリー先生:
できるわよ。まずスーパーユーザーで/etc/inetd.confを編集してtelnetの行をコメントにするの。

telnet     stream tcp6 nowait root /usr/lbin/telnetd  telnetd
 ↓先頭に「#」を記述してコメントにする
#telnet     stream tcp6 nowait root /usr/lbin/telnetd  telnetd

次に、inetdコマンドを「-c」オプションを指定して実行するの。

# /usr/sbin/inetd -c

以上で、設定が反映され、telnetによるログインができなくなるわ。

$ telnet hp2 ←接続しようとすると…  【Enter】
Trying...
telnet: Unable to connect to remote host: Connection refused
 ↑接続が拒否される

SSHサーバーが実行中のリモートホストにログインするには次のようにsloginコマンドを実行します(sloginコマンドの代わりにsshコマンドを使用してもかまいません)。

slogin -lユーザー名 ホスト名もしくはIPアドレス

次にユーザー「taro」としてホスト「host1」に接続する例を示します。

$ slogin -l taro host1  【Enter】
The authenticity of host 'host1 (192.168.1.102)' can't be established.
RSA key fingerprint is 12:70:08:25:2f:3e:ac:b1:7d:4b:2a:f4:b3:fc:bd:dd.
Are you sure you want to continue connecting (yes/no)? yes ←(1)「yes」を入力
Warning: Permanently added 'host1,192.168.1.102' (RSA) to the list of known hosts.
Password: ←(2)パスワードを入力
Last login: Fri Jan  8 17:30:42 2010
$ ←ログイン完了

SSHでは、ユーザー認証の前に「ホスト認証」が行われます。初回接続時には、ホストの公開鍵と呼ばれる認証に必要な鍵が保存するかをたずねてきます((1)の部分)。「yes」を入力すると、そのホストの公開鍵が「~/.ssh/known_hosts」に登録されます。この操作は2回目以降は不要です。
(2)でパスワードを入力するとリモートログインが完了します。

四色君:
ホスト認証ってなんのために行われるのですか?
四色君
マリー先生
マリー先生:
ホストが改ざんされていないことを確認するための認証よ。たとえば、別のホストがそのホストになりすましているような場合には、ホスト認証の段階でエラーになって、ホストが正しくないことがわかるわけ。
あと、SSHでは通常のアカウントによるログインだけではなく、より安全な「公開鍵暗号方式」によるログインも可能なの。
タックス君:
公開鍵暗号方式ってなんですか?
タックス君
マリー先生
マリー先生:
秘密鍵と公開鍵という鍵のペアを使ってログインする方式よ。ホスト認証はこの公開鍵暗号方式で行われるけど、ユーザー認証もその方式で行うことができるの。
四色君:
普通のユーザー名とパスワードによるログインと比べて、安全なのですか?
四色君
マリー先生
マリー先生:
そう、公開鍵暗号方式を使うとパスワードをネットワーク上に送る必要がなくなるの。また、公開鍵暗号方式ではパスワードに相当するパスフレーズというものを使うのだけど、万が一パスフレーズが外部に漏れたとしても、秘密鍵が漏洩しなければログインできないの。それについては、また別の機会に説明するわね。

FTPによるファイル転送

FTPはファイル転送用の古典的なプロトコルです。ここでは、もっともシンプルなFTPクライアントであるftpコマンドの使い方を説明しましょう。

ftp <FTPサーバーのホスト名またはIPアドレス>

ftpコマンドを実行し、正しいユーザー名とパスワードを入力すると、プロンプト「ftp>」が表示されます。次にFTPサーバー「host1」にユーザー名「taro」で接続する例を示します。

$ ftp host1  【Enter】
Connected to host1.example.com.
220 192.168.1.102 FTP server (tnftpd 20080929) ready.
Name (host1:o2): taro ←ユーザー名を入力
331 User taro accepted, provide password.
Password: ←パスワードを入力
230 User taro logged in.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ←プロンプトが表示されコマンド待ちの状態になる

四色君:
僕はWindows用のソフトをFTPサーバーからダウンロードすることがよくあるんですが、そのときにはユーザー名とパワードは不要ですよね。
四色君
マリー先生
マリー先生:
FTPサーバーには、アカウントが必要なタイプと、Anonymous FTPサーバー(匿名FTPサーバー)と呼ばれる誰でもゲストとして接続できるものがあるの。
タックス君:
でも、ftpコマンドでは、Anonymous FTPサーバーに接続する場合でもユーザー名とパスワードを要求されますよね。
タックス君
マリー先生
マリー先生:
そう、ftpコマンドでAnonymous FTPサーバーにログインするには、通常はユーザー名に「anonymous」、パスワードに電子メールアドレスを入力するの。ただ、パスワードにメールアドレスを入力するのはあくまで儀礼的なもので、実際にはどんな文字列を入力してもログインできるわ。

「ftp>」プロンプトに続いて、サブコマンドを入力することによりファイルのダウンロードやディレクトリの移動などの操作が行えます。たとえば、ダウンロードにはgetコマンドを使用します。
次に、「110.jpg」ファイルをダウンロードする例を示します。

ftp> get 110.jpg
200 PORT command successful.
150 Opening BINARY mode data connection for '110.jpg' (49351 bytes).
226 Transfer complete.
49351 bytes received in 0.02 seconds (2863.26 Kbytes/s)

ftpコマンドを終了するにはquitコマンドを実行します。

ftp> quit
221-
    Data traffic for this session was 49351 bytes in 1 file.
    Total traffic for this session was 56541 bytes in 2 transfers.
221 Thank you for using the FTP service on 192.168.1.102

次の表に、ftpコマンド内で使用できる主なサブコマンドをまとめておきます。

コマンド 説明
ascii アスキー転送モードにする(改行コードをOSによって変更する)
bin バイナリ転送モードにする
ls <ディレクトリ> リモート側のファイルの一覧を表示する
put <ファイル> ファイルをアップロードする
mput <ファイル> 複数のファイルをアップロードする(ワイルドカード使用可)
get <ファイル> ファイルをダウンロードする
mget <ファイル> 複数のファイルをダウンロードする(ワイルドカード使用可)
prompt インタラクティブモードのオン・オフを切り替える(デフォルトでオン)
cd <ディレクトリ> リモート側のディレクトリを変更する
lcd <ディレクトリ> ローカル側のディレクトリを変更する
delete <ファイル> リモート側のファイルを削除する
mkdir <ディレクトリ> リモート側にディレクトリを作成する
help コマンドの一覧を表示する
quit セッションを終了する
表2:ftp内で使用できるサブコマンド

マリー先生
マリー先生:
FTPもTelnetと同じようにアカウント情報が平文で流れるので、あまり安全なプロトコルではないの。
タックス君:
それじゃあ、より安全なファイル転送用プロトコルにはなにがあるんですか?
タックス君
マリー先生
マリー先生:
最近ではFTPのSSH版といえるsftpが普及してきているわね。次の形式で使うの。

sftp ユーザー名@ホスト名もしくはIPアドレス

ログインしたら、利用可能なサブコマンドの一覧についてはhelpコマンドで確認してね。


練習問題

第1問:ホスト「www.example.com」がICMPパケットに応答するかどうかを調べるコマンドはどれか?

a) test www.example.com
b) netstat www.example.com
c) linkloop www.example.com
d) ping www.example.com
正解はこちら
d) ping www.example.com
pingはICMPパケットを送信してその応答を調べるコマンド。

第2問:基本的なサービスとポート番号の対応とが記述されているファイルはどれか?

a) /service
b) /etc/services
c) /etc/hosts
d) /etc/protocols
正解はこちら
b) /etc/services
/etc/servicesにはウェルノンポートの一覧が格納されている。

第3問:SSHを使用して、ホスト「hp2」にユーザー「taro」としてリモートログインするコマンドはどれか?

a) ssh -l taro hp2
b) ssh taro hp2
c) slogin hp2 taro
d) ssh hp2 taro
正解はこちら
a) ssh -l taro hp2
SSHサーバーにログインするには、sshもしくはsloginコマンドを使用する。

第4問:FTPサーバーにftpコマンドで接続している状態で、ファイル「sample.jpg」をダウンロードするコマンドはどれか?

a) put sample.jpg
b) download sample.jpg
c) sample.jpg
d) get sample.jpg
正解はこちら
d) get sample.jpg
ファイルのダウンロードは「get ファイル名」を使用する。

連載記事一覧 戻る ページ:  戻る   |   1   2

教科書シリーズ 「UNIXの教科書」 「HAクラスターの教科書」 連載記事一覧

UNIXの教科書「基礎編」

第1日目:ログインしてコマンドを実行してみる
第2日目:ディレクトリやファイルを操作してみる
第3日目:シェルの基本を知る
第4日目:ファイルの基本操作
第5日目:viエディタの操作(基本編)
第6日目:リダイレクションとパイプを活用する
期末試験

UNIXの教科書「応用編」

第1日目:grepコマンドと正規表現
第2日目:ファイルの検索
第3日目:viエディタの操作(活用編)
第4日目:ファイルの圧縮とアーカイブ
第5日目:ジョブとプロセスの操作
第6日目:シェルの環境設定
第7日目:シェルスクリプトでより便利に
期末試験

UNIXの教科書「運用編」

第1日目:ユーザーの管理
第2日目:ファイルの安全管理(その1)
第3日目:ファイルの安全管理(その2)
第4日目:ネットワークの基本を理解する
第5日目:ネットワーク関連のコマンド
第6日目:システム情報の表示
期末試験 New!

HAクラスターの教科書

第1日目:ハードウェア構成を知る
第2日目:ネットワークを設定する
第3日目:共有ディスクを構成する
第4日目:HAクラスターを構成する
第5日目:パッケージを構成する
第6日目:障害テストを実施する
期末試験

 その他の連載記事


本ページの内容は執筆時の情報に基づいており、異なる場合があります。

お問い合わせ

ご購入前のお問い合わせ


ご購入後のお問い合わせ

オンラインサポート
製品の標準保証でご利用いただける無償のサービスです。

ショールーム

ショールーム 導入をご検討のお客様へ
業務アプリケーションの継続・標準化・開発性とシステム担当者様、システム開発者様が抱える悩み・疑問に対する解決策実体験して頂けます。
印刷用画面へ
プライバシー ご利用条件・免責事項 ウェブマスターに連絡