Mazn.net

やってみて 調べてみて 苦労しなけりゃ 箱は動かじ

sshのちょっと高度な使い方

      2013/07/15

めっきり使う機会が減ってしまったtelnetの代わりによく使うssh。最近はmoshという新たなプロトコルも出てきましたが、まだまだsshがメジャーですよね。

今回は過去の記事を参照しつつsshのちょっと高度の使い方の紹介です。

まずは秘密鍵・公開鍵の使い方。秘密鍵にパスワードを設定しなければ、パスワードなしでログインするようにも可能です。

 

次は、ポートフォワーディング。ローカルのあるポートを、リモートのネットワークの特定のサーバのポートに転送することができます。ネットワークの制限上sshは通るがその他のポートは通信できなかったり、通信したいサーバがNATの中で、踏み台サーバ経由でしかアクセスできない場合に、ダイレクトに通信することができます。

以下は、ローカルのポート80にアクセスすると、abc.com 経由で、hoge.comの8080にアクセスすることができます。

# ssh -L 80:hoge.com:8080  abc.com

-L ではなくて、-R を使うと、リモート(abc.com)のポート80をhoge.comの8080にフォワーディングすることができます。

# ssh -R 80:hoge.com:8080 abc.com

ただし、デフォルトでは、abc.com 上のポート80はabc.com上からのアクセス(ローカルアクセス)しか許可されていないので、他のサーバからのアクセスも許可したい場合は、sshサーバ側の設定(sshd_config)で、GatewayPorts というオプションを有効にし、sshで接続する際に-g オプションをつける必要があるようです。

もっと汎用的にフォワーディングしたい場合は、ダイナミックフォワーディングという方法もあります。

 

次はエスケープキャラクタを使った、GatewayPortsh コマンド自体の制御。左の記事では、”~ .” で強制的にログアウトする方法を書いていますが、これ以外にもいろいろなコマンドがあります。~? でヘルプがみられますが、代表的なものとしては、以下のようなコマンドがあります。

~#  ---- ポートフォワーディングの情報を表示。
~^Z ---- バックグラウンドで実行させる (^ZはCtrl+Zの意味)。sshに戻りたい場合はfgを実行。
~C  ---- sshのコマンドラインを開く。動的にsshの設定(例えばフォワーディング)が変えられます。

次は、タイムアウト関連の設定変更です。デフォルトでは相手のサーバの応答がないと、ターミナルが固まってしまったりしますので、mazn はいつも以下のオプションを使っています。サーバーの生死確認を20秒毎に行い、6回応答がないと自動切断する設定です。(ちょっと記憶が曖昧)

# ssh -o ServerAliveInterval=20 -o ServerAliveCountMax=6

毎回指定するのは面倒なので、.bashrc にでも alias を書いておきましょう。

 

次はサーバの設定のTipsなのですが、接続時の応答が遅いことがあります。これは大抵がDNSを参照する設定になっているか、使わない認証関連の設定が有効になっているのが原因です。sshd_config の以下のパラメータをnoにして、sshサーバを再起動してみてください。

UseDNS no
GSSAPIAuthentication no

 

参考
http://www.slideshare.net/tohakushi/ssh-13118950

 - IT技術, サーバ構築, セキュリティ, ネットワーク, 日常 ,

336px

Message

メールアドレスが公開されることはありません。

  関連記事

no image
RD-S601の不具合

少し前にVARDIAを購入した記事を書きましたが、先日録画で不具合が発生してしま …

no image
Arrows Tab LTE F-01D をICS (4.0) にアップデート

やっとでました。Arrows Tab の 4.0アップデート。 早速アップデート …

no image
ショートカットが動かない@Thunderbird 2.x with Windows

Windows上のThunderbirdでは、Ctrlを使わないショートカット、 …

no image
Ubuntuの起動画面が途中で見えなくなる@Ubuntu 9.04

Ubuntu 9.04を入れてみました。 起動時の画面が途中で真っ暗になったり、 …

no image
Javaアプリの日本語文字化け対策

Linux上のSunのJVMで、GUIアプリを動かすと文字化けしてしまいます。 …

no image
PlayStation HOMEが最悪な状況に・・・

久しぶりにPlayStation HOMEにログインすると、最悪な状況になってま …

no image
py2exeでpythonをWindowsの実行ファイル形式にする@Windows 7 64bit

python でちょこっと作プログラムを誰かに渡したいとき、相手にpython入 …

no image
XREAでのWordPressのファイルアップロード

初めてファイルアップロード機能を使おうとしたら動かなかったのでメモ。 wp-ad …

no image
タイムゾーンの変更方法@RHEL

RHELやCentoSインストール時にタイムゾーン間違ったり、VMwareでクイ …

no image
Windows Media Player 12でファイルサーバ上のファイルをDLNAで共有する@Windows7

※Flashやmp4などもトランスコードで再生するため、PS3 Media Se …