no-image

MacのTerminalからホスト名だけでサーバに接続する

MacのターミナルからSSHでサーバに接続するには以下のコマンドで接続できますが、ログインの度にログイン名やホストネーム、パスワードを入力するのは面倒なので、ホストネームだけでログインできるようしたいと思います。

#userにはログインするユーザー名 hostにはサーバ名若しくはIPアドレスを入力
ssh -l user host

Macのターミナルからホストネームだけでログインするには事前に設定ファイルを作成し、その設定ファイルに基づいて秘密キーを使って接続できるようにする必要があります。

この記事では、秘密キーの作成方法と秘密キーを使った接続方法、ホスト名だけで接続するための設定ファイルの作成方法について解説したいと思います。

※なお、秘密鍵が第三者に漏れると不正アクセスされますので、厳重に管理してくださいね。

STEP1 秘密キーや設定ファイルを保持する場所の作成

  1. アプリケーション→ユーティリティ→ターミナル.appを起動します。
  2. SSH鍵の保存場所を作成します。
  3. #.sshディレクトリ作成
    mkdir ~/.ssh
  4. セキュリティの観点から所有者のみにフルアクセスの権限を与えます。
  5. #パーミッションの変更
    chmod 700 ~/.ssh

STEP2 秘密キーと公開キーの作成

  1. SSHキー作成コマンドを実行します。
  2. #ssh-keygenに-tオプションを付けて暗号タイプrsaを指定
    ssh-keygen -t rsa
    
    Enter file in which to save the key (/Users/username/.ssh/id_rsa):    →キーの作成場所。エンターで次に進む
    
    Enter passphrase (empty for no passphrase):    → パスフレーズの設定。不要であればそのままエンターで次に進む
    
    Enter same passphrase again:    →パスフレーズの確認。
    

    これで秘密キーと公開キーが作成されます。

  3. 秘密キー・公開キーが作成されたことを確認します。
  4. #lsコマンドで格納ファイル確認
    ls ~/.ssh
    id_rsa      id_rsa.pub
  5. 作成した秘密キーのアクセス権を設定します。
  6. #パーミッション変更
    chmod 600 ~/.ssh/id_rsa

STEP3 公開キーをサーバにアップ

  1. 公開キーの内容をクリップボードにコピーします。
  2. #出力(cat)内容をpbcopyコマンドでクリップボードにコピー
    cat ~/.ssh/id_rsa.pub | pbcopy
  3. サーバにログインし公開キーを設置する準備をする
  4. #ディレクトリの作成(サーバ側)
    mkdir ~/.ssh
    #パーミッションの設定
    chmod 700 ~/.ssh
  5. 公開キーを設置する
  6. #authorized_keysを作成しクリップボードにコピーした公開キーの内容をペーストする
    vi ~/.ssh/authorized_keys

    authorized_keysがviで開きますので、ここに⌘+vで公開キーの内容ペーストします。
    ペーストできたら、escキー→:wqでviを閉じます。

  7. 作成したauthorized_keysのアクセス権を設定します。
  8. #パーミッションの設定
    chmod 600 ~/.ssh/authorized_keys
    #サーバからログアウト
    exit

ここまでが秘密キーで接続するための準備となります。
一度この状態で秘密キーを使って接続できるか確認してみます。

#サーバに接続する
ssh -l ログインユーザ名 ホストネーム( or IPアドレス)-i ~/.ssh/id_rsa

ログインできない場合はauthorized_keysの内容やアクセス権の影響でログインできない可能性があります。
この辺りの設定や内容を見直して再接続してみてください。

STEP4 ホスト名だけでSSH接続

ホスト名だけでSSH接続するには、はじめに説明したとおり、設定ファイルに接続情報を記入しておき、ホスト名だけでログインできるようにします。

  1. サーバからはログアウトしローカル端末に移動する。
  2. #サーバからログアウト
    exit 
  3. コンフィグファイルの作成と設定を記入する
  4. #configファイルの作成+開く
    vi ~/.ssh/config
    
    #iを押してインサーモードへ移行し以下を記述 
    #※かっこは省いてください。
    
    host ServerName      (この名前でログインします)
    
            hostname 192.168.1.1    (サーバのIPアドレスを記入)
    
            user dotinstall               (ログインするユーザ名を記入)
    
            Port ポート番号
    
            IdentityFile ~/.ssh/id_rsa
    
    #記入を終えたら、escキー→:wqでviを閉じます。
  5. configファイルへのアクセス権の設定
  6. #パーミッションの設定
    chmod 600 ~/.ssh/config

以上でホストネームだけで接続ができるようになります。
では、最後に設定したサーバネームでログインしてみましょう。

#サーバ名でログイン
ssh ServerName 

なお、秘密キーではなく、パスワードで認証する場合は、パスワードの入力が必要です。