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
ログの転送@Cisco 2960

Ciscoのスイッチでログの転送(syslog)をする設定の覚え書き。syslo …

no image
windows presentation foundation プラグイン@Firefox 3.5

Firefoxで急にwindows presentation foundatio …

no image
googleマップが凄い!!

とうとうgoogleマップのストリートビュー(street view)の日本版が …

no image
異なるポート間でポートフォワーディング@NEC Aterm のルーター

NEC Aterm系のルーターは、ポートマッピングという機能があります。 通常の …

no image
スイッチの初期化 @ Cisco Catalyst 2960

スイッチのパスワードを忘れてしまいログインできなくなった場合は初期化することにな …

no image
Linuxの高速再起動 – kexec @Debian etch

カーネルバージョン2.6.13からサポートされている機能です。 ランレベル1に移 …

no image
Apache 2.0 + OpenSSL

OpenSSLは SSLv2/SSLv3/TLSv1 をサポートしているオープン …

no image
キーボードレイアウト、ロケール変更@Ubuntu 14.04 server on VMware Player

VMwareの簡易インストールはOSのインストールが簡単で便利ですが、日本時間に …

no image
vimで検索語をハイライトする@さくらインターネット

普通vimで検索すると、検索語がハイライトされるのですが、さくらインターネットに …

no image
vimでpythonの補完を行う

pythonを少し書いてみようと思い立ち、とりあえずvimでpythonのキーワ …