モーダルを閉じる工作HardwareHub ロゴ画像

工作HardwareHubは、ロボット工作や電子工作に関する情報やモノが行き交うコミュニティサイトです。さらに詳しく

利用規約プライバシーポリシー に同意したうえでログインしてください。

目次目次を開く/閉じる

「ssh config」および「ssh-agent」の活用

モーダルを閉じる

ステッカーを選択してください

お支払い手続きへ
モーダルを閉じる

お支払い内容をご確認ください

購入商品
」ステッカーの表示権
メッセージ
料金
(税込)
決済方法
GooglePayマーク
決済プラットフォーム
確認事項

利用規約をご確認のうえお支払いください

※カード情報はGoogleアカウント内に保存されます。本サイトやStripeには保存されません

※記事の執筆者は購入者のユーザー名を知ることができます

※購入後のキャンセルはできません

作成日作成日
2014/11/25
最終更新最終更新
2017/09/27
記事区分記事区分
一般公開

SSH関連で活用できると便利な以下の二つの事項についてまとめます。

  • SSH接続の設定ファイル「~/.ssh/config」によく記述する内容
  • SSH接続時に秘密鍵のパスワード入力を省略する ssh-agent の利用方法

SSH config

踏み台サーバ step を経由して internal-0001 にアクセスする設定ファイルの例を記載します。設定項目の意味については「man ssh_config」を参照してみてください。

~/.ssh/config

Host step
  HostName step.example.com
  User username
  IdentityFile ~/.ssh/id_rsa
  ServerAliveInterval 60

Host internal-0001
  HostName 10.0.0.1
  User username
  IdentityFile ~/.ssh/id_rsa
  ServerAliveInterval 60
  ProxyCommand ssh -W %h:%p step

権限設定を忘れないようにしましょう。

$ chmod 600 ~/.ssh/config

以下のように直接ログインできるようになっています。

$ ssh internal-0001

この設定ファイルがない場合は

$ ssh username@step.example.com -i ~/.ssh/id_rsa

としてから

$ ssh username@10.0.0.1 -i ~/.ssh/id_rsa

とする必要がありました。Capistrano で internal-0001 にデプロイする際にこれでは困りますね。

SSH-agent

~/.bashrc などに以下の内容を追記します。ログイン時に一度だけパスワードを入力すれば、以降の入力は不要になります。

SSH_AGENT_FILE=$HOME/.ssh-agent
test -f $SSH_AGENT_FILE && source $SSH_AGENT_FILE
if ! ssh-add -l > /dev/null 2>&1; then
    ssh-agent > $SSH_AGENT_FILE
    source $SSH_AGENT_FILE
    ssh-add $HOME/.ssh/id_rsa
fi
  • ssh-agent : 実行するとプロセスが常駐します
  • ssh-add : 常駐しているssh-agentプロセスに指定した秘密鍵を覚えさせるコマンドです

過去に作成された $SSH_AGENT_FILE が存在していれば、既にssh-agentが常駐している可能性があるため source でその情報を読み込んでおきます。実際にそのssh-agentが生きていてかつ秘密鍵を覚えている場合はなにもしませんが、そうでない場合は新規にssh-agentを常駐させて、秘密鍵を覚えさせます。

Likeボタン(off)0
詳細設定を開く/閉じる
アカウント プロフィール画像

Android Developer

記事の執筆者にステッカーを贈る

有益な情報に対するお礼として、またはコメント欄における質問への返答に対するお礼として、 記事の読者は、執筆者に有料のステッカーを贈ることができます。

>>さらに詳しくステッカーを贈る
ステッカーを贈る コンセプト画像

Feedbacks

Feedbacks コンセプト画像

    ログインするとコメントを投稿できます。

    ログインする

    関連記事

    • 使い所が難しいマイナーな運用コマンド
      コマンドのエイリアスを登録する (update-alternatives) mybin という名前のコマンドを登録 sudo update-alternatives --install /usr/local/bin/mybin mybin /usr/bin/echo 10 sudo update-alternatives --install /usr/local/bin/mybin mybin /...
      けんちゃんけんちゃん11/1/2022に更新
      いいねアイコン画像0
    • ipコマンドの基本的な使い方
      ネットワーク関連のコマンドはたくさんあります。しかしながら、その一部は ip コマンドに集約できます。 基本形 ("man ip" より抜粋) $ ip OBJECT COMMAND OBJECT: link, neigh, addr, route (等) COMMAND: show, add, delete (等) データリンク層のネットワークデバイス情報 (ifconfigコマンドの代用) M...
      こもれびさんこもれびさん2/8/2017に更新
      いいねアイコン画像0
    • プロセス関連のコマンド
      サムネイル画像-7b5901f600
      プロセスID関連 (ps, pgrep, pkill) 全プロセスを表示するためには $ ps ax とすればよく、その表示を見やすくするためには "u" と "w" を追加して $ ps auxw とすればよいです。表示件数自体は同じです。そのうち特定のコマンドのプロセスIDだけを表示したい場合は $ ps ax | grep 'my_script' | grep -v grep | awk '...
      kenken11/27/2021に更新
      いいねアイコン画像0
    • rpmとyumのチートシート
      サムネイル画像-f69c6665b8
      rpm (RedHat Package Manager または RPM Package Manager) はRedHat系のパッケージ管理ツールで、yum (Yellowdog Updater Modified) は内部的にrpmを実行するメタパッケージ管理ツールです。rpmには柔軟性がありyumには利便性があります。 rpmは "rpmパッケージファイル" があれば何でもインストールできますが、...
      まるたんまるたん2/2/2022に更新
      いいねアイコン画像0
    • メモリおよびディスクリソースを調査するために便利なコマンドおよび周辺知識
      メモリ使用量を表示 (free) 既定ではキロバイト単位で表示されます。オプション "-b", "-k", "-m", "-g" を付与して実行するとそれぞれバイト、キロ、メガ、ギガで表示されます。 $ free total used free shared buffers cached Mem: 510824 ...
      しおまめしおまめ8/30/2017に更新
      いいねアイコン画像0