SSHサーバー接続の基本(Mac)

MacでサーバーSSH接続

SSHとは…

SSH(Secure SHell)はWebアクセスのSSL通信と同様、暗号化により盗聴を防ぐことと
鍵認証という仕組みによって実現される安全な通信規格(プロトコル)です。

SSH接続は後述する、

    • ホスト認証
    • ユーザー認証

のどちらもパスして初めて接続が可能となります。

SFTPについて

FTPクライアントなどファイル転送ツールのプロトコル選択欄で「SFTP」という規格がありますが、
こちらはファイル転送で使う旧来のFTP通信をSSHの仕組みで安全にしたものとなります。
(旧来のFTPは通信内容が暗号化されていません)

SSHコマンドでサーバー接続

サーバーへのssh接続はクライアントソフトを使用しても行うことが出来ますが
Macの場合はターミナルからsshコマンドを使用してサーバーのリモート操作が可能になります。

(管理者権限の無い一般ユーザーでの接続を推奨します)

sshコマンドの基本

ターミナルから、ログインするユーザ名とホスト名を入力して接続します。

$ ssh ユーザ名@ホスト(IPアドレス)

sshポート番号を変更している場合

安全のために、接続するサーバーがsshのポート番号を一般的に知られているデフォルトの「22」から変更している場合は、-pオプションで明示的にポート番号を指定して接続します。

ポート番号が10021番の場合
$ ssh -p 10021 ユーザ名@ホスト

ホスト認証

接続を行うとまず、ホスト認証が行われます。

接続時にサーバーからクライアントへ送られてくる「ホスト認証鍵」をクライアントで保存しているものと一致するかどうかを比較して虚偽のサーバーへでないことを確かめます。

ですが、、

初めてサーバーへ接続するときには、クライアントはまだ当該の認証鍵を持っていませんので
サーバーから送られてくる認証鍵をクライアントに保存してよいかどうかのメッセージが初回接続時に表示されます。

sshコマンドでサーバーへ初回接続
yesを選択する(クライアントにホスト認証鍵を保存)

yesを選択すると、ホーム配下の .ssh/known_hosts というファイルにホスト名と認証鍵の対応情報が書き込まれます。
(この時点ではまだ接続出来ていません)

保存が完了すると次回接続からはメッセージが表示されず、自動でホスト認証が行われます。
(万が一、接続先のサーバーが虚偽のものだった場合はお互いの認証鍵が一致しないのでエラーメッセージが表示されるはずです)

ユーザー認証(パスワード認証)

ホスト認証が完了したら、次は接続するユーザー(クライアント)の正当性を確かめるべくユーザー認証を行います。

ユーザー認証には、

  • パスワード認証(ユーザーのパスワードを用いる)
  • 公開鍵認証(クライアント側で作成した鍵を用いる)

の2種類の方法がありますが
今回は前者のパスワード認証の方法で解説します。

※パスワード認証が有効な場合に限ります。
実際はより安全な方の公開鍵認証を推奨します。

初回ホスト認証時と同様にsshコマンドを実行し、接続するユーザーのパスワードを入力します

パスワード認証が完了し、接続が完了するとターミナルの表示が接続先サーバの環境に変わるはずです。

(接続を切る場合は exitコマンド を実行します)

Follow me!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください