プログラミング

.ssh configとssh-agentでssh接続を簡単にする




以前、RLoginでエックスサーバーに接続する方法を書きました。

RLoginを使う場合はこの方法で問題ないんですが、コマンドラインでssh接続する場合は結構手間なんですよね。。。
そこで、ssh configとssh-agentを使ってログインを簡素化することにしました。

ssh接続をしたことがない人は、以下を参考に公開鍵と秘密鍵を作成しておいてください。

RLoginでエックスサーバーにSSHする方法

みなさん、SSHしてますか(意味不明) WordPressは、ブラウザだけでサーバーのファイルを修正できるようになってます。 でも、1行追加するだけなのにダウンロード→編集→アップロードとかめんどくさ ...

続きを見る

今回のゴール

従来の長いコマンドを

これだけで接続できるようにします。

エックスサーバー以外の鍵を使った接続でも同様です。

.ssh configを書く

.ssh configとは

sshを行う時に参照される設定ファイルです。
configファイルに接続先や秘密鍵のファイルパスなどを書いておくと、sshコマンド実行時に入力を省略できます。

.ssh configファイルを作成する

まだファイルを作成したことがない場合

以下に設定ファイルを作成します。

Windows

mac/Linux

configファイルに設定を書く

すでに設定がある場合は最後など、影響がない場所に追記してください。

エックスサーバーは操作しないとすぐに時間切れで接続が切れてしまいます。
ServerAliveIntervalを追記しておくと、設定した秒数毎にサーバーにメッセージを送り、切断を防ぐことができます。

ssh-agentの設定を行う

ssh-agentとは

エックスサーバーで作成した秘密鍵にはパスフレーズが設定されているので、通常であればログインの度にパスフレーズを入力する必要があります。

確かにセキュリティ的には正しいのですが…面倒ですよね?
パスフレーズが必要だと、バッチ処理なんかもやりにくいです。

ssh-agentを設定しておくと秘密鍵に設定されているパスフレーズの入力を代わりにやってくれるので、手動入力が不要になります。

ssh-agentを起動する

Windowsの場合

管理者権限でコマンドプロンプトを起動し、以下を入力します。

mac/Linuxの場合

以下のコマンドを実行します。

ssh-addで秘密鍵とパスフレーズを登録する

以下のコマンドを実行します。
Windowsの場合は管理者権限でコマンドプロンプトを起動してください。

エックスサーバーにログインする

.ssh configに書いた設定を使ってログインします。

最初の1回はパスフレーズを求められますが、2回目からは省略されます。

.ssh configってすごい便利

パスフレーズの入力がなくなったので、sshで接続してあれこれするプラグインが使えるようになりました!

今回は直接対象のサーバーにアクセスするだけでしたが、踏み台の先のサーバーに直接アクセスしたりできるんですね。
興味出てきたので、そのうちまとめます。

 

-プログラミング
-,

© 2024 そんなこと猫でもできる Powered by AFFINGER5