joppot

コピペで絶対動く。説明を妥協しない

サーバ

sshコマンドをaliasかssh configを使って短縮する

投稿日:


uyd

概要

みなさんこんにちはcandleです。今回はsshの接続先のホスト名を短くする方法です。
ssh接続は非常に強力なネットワークツールですが、接続先の指定がやや面倒ですね。それを単純にする方法をまとめます。

前提

ssh接続する先がある
一度でもsshで接続したことがある
サーバはvirtual boxでもよいし、Lanの中にある別のサーバでも良いし、レンタルサーバでもかまいません。



unixのaliasを使う

一番手っ取り早い方法がaliasを使うことです。

例えば、自分のvirtual box上のubuntuにmacからssh接続する時の例を見てみましょう。
私の場合は下の様にしてssh接続します。

ssh candle@192.168.56.101

sshloginbycandle-1

これぐらいなら、ターミナルからコマンドを打っても良いからもしれませんが、それさえも回数がかさむと時間がもったいないので、aliasで省略しましょう。

ホームディレクトリにある.bash_profileか.bashrcにaliasを書き込みます。
もしも、.bash_profileか.bashrcがない場合は下のコマンドで作ってください。

touch ~/.bash_profile

適当なエディタで.bash_profileを開きましょう。私は例によってemacsを使います。

emacs ~/.bash_profile

書き込む内容は下の様になります。

alias sshv='ssh candle@192.168.56.101'

createsshvcommand

sshvというコマンドを作りました。
ちなみにこのipアドレスはそれぞれのPCによって違うので各自調べてくださいね。
.bash_profileか.bashrcを読み込むと

source ~/.bash_profile

下のコマンドだけでサーバにアクセスできます。

sshv

easysshcommand

aliasを使ったsshの省略でした。

ssh configを使う

aliasを使うやり方は多少、ゴリ押しです。いや、ゴリ押しではないか。私はaliasを使っています。

さて、sshのconfigを使う方法を見ていきましょう。
これは、より、理想的なsshの短縮かもしれません。
まずはホームディレクトリの.sshフォルダに移動します。

cd ~/.ssh

無い場合は自分で勝手に作ってください。

mkdir ~/.ssh

そしたら、「config」というファイルを作ります。ある場合は作らなくて良いです。

touch config

sshconfigfile

.sshフォルダの中にconfigというファイルを作るだけでconfigファイルは自動的にsshに関する設定ファイルになります。

中身を書いていきましょう。
一般に下のように書きます。

Host 呼びやすい名前
  User サーバにアクセスするユーザー名
  HostName サーバのホスト名

例えば、virtual boxのubuntuにアクセス時に「ssh candle@192.168.56.101」というコマンドを打ち込んでいるなら、下のようにします。

Host vbu
  User candle
  HostName 192.168.56.101

sshconfig

Hostのvbuというは自分が勝手につけた「virtual box ubuntu」の略です。
何度も書きますが、HostNameの「192.168.56.101」のところは個人のIPアドレスまたはホスト名にしてください。これはあくまで一例です。

保存したら、下のコマンドでssh接続できます。

ssh vbu

sshconnectusesshconfig

すばらしい。ssh configを使った方法は以上です。

まとめ

どちらの方法を取るかは個人の好みで良いし、どちらがセキュリティ的に良いかというものはありません。いや、本当は自分が知らないだけで、ssh config使ったほうがセキュアってことはあるかもしれませんが。まあ、どっちでもよいでしょう。

スポンサードリンク

「為になったなぁ」と思ったら、シェアお願いします。

-サーバ
-

執筆者:


comment

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

関連記事

Ubuntuにmemcachedをインストールする方法と動作確認

概要 みなさんこんにちは、今回はubuntuにmemcachedを入れて、起動や、動作確認を行ってみたいと思います。 memcachedとは比較的短期間「key=>value」という形で値を保存するサ …

CentOS6.5にcakephp2.5.6をインストールする

概要 みなさんこんにちはcandleです。今回はCentOSのapacheサーバー上にcakephpを導入してみましょう。 前提 CentOSにapacheがインストールされている mysqlがインス …

CentOS6.5にcomposerをインストールする

概要 みなさんこんにちはcandleです。cakephpではphpのライブラリ管理ツールcomposerと連帯して、便利に必要なライブラリを導入できます。 例えば、cakephpの標準テストツールph …

wordpressのカテゴリーを削除する

概要 みなさんこんにちはcandleです。今回はwordpressのカテゴリー削除に関してです。実は私、タグとカテゴリーを間違えていて、初期の頃はカテゴリーで全て分類していました。後に、タグで管理する …

MAMPでphpのshell_execを使用してunixコマンドを実行できない場合の対処(imagemagick,convert)

概要 みなさんこんにちはcandleです。今回はちょっと問題が起きてshell_execがうまくいかないときのトラブルシューティングをまとめます。 私はMAMPをバージョンアップする前は、phpのsh …

  • English
  • 日本語

ベンチャー企業のCTOをやってます。大学時代にプログラミングを始め、javaから入門し、C++へて、PHPへと進み、会社ではRailsを使用。自動化が大好きなプログラマー