joppot

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

サーバ

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

投稿日:

Pocket

uyd

概要

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

前提

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

SPONSORED LINK


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

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

関連記事

centos6.5にtd-agentサーバを構築する

English 日本語 概要 みなさん、こんにちはcandleです。 今回はcentos6.5にtd-agentサーバを構築してみたいと思います。 td-agentとは要はfluentdの事だと思いま …

CentOSのfluentdでapacheのaccess logとerror logを取得する

概要 みなさんこんにちはcandleです。今回はapacheのアクセスログとエラーログをfluentdを使って取得して見たいと思います。 前提 一台のサーバ上にapacheサーバとfluentdサーバ …

fluentdのs3 pluginを使用して日付区切りでログデータをS3に送信する

概要 みなさんこんにちはcandleです。今回はfluentdのs3プラグインを使用して、railsなどのログを日単位でS3に投げる方法を紹介します。もちろん、応用して年単位とか月単位、時間単位で区切 …

ruby on railsで出力されるlog(ログ)のフォーマットを変更する

概要 みなさんこんにちはcandleです。今回はrailsのログに関する記事です。railsは決まった記述でログを出力します。 webアプリケーションを実行中におかしな挙動が合った場合はこのログをもと …

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

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

  • English
  • 日本語

プロフィール


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

スポンサードリンク

アーカイブ