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
ck@cygwin 1.7

cygwin 1.7 より前では、ターミナルエミュレータにckを使っていたのです …

no image
nForceのマザーM2NPV-VMでのRAID (NVRAID) の使用

数年前に買ったASUSのnForceのマザーボード M2NPV-VMで使っていた …

GO言語 1.12をインストール@Ubuntu 18.04

GO言語1.12がそろそろリリースされるようですが、2/25にリリースされたので …

no image
apt系コマンド

インストールの管理にDebian系ではaptを使いますが、すぐ忘れてしまうのでメ …

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

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

no image
Janetterのデータベースサイズが大きすぎる

ふと気づいたら、以下のフォルダのJanetterのデータベースのサイズが5GBも …

no image
gvfsを使用して、Windowsの共有フォルダを使用する@Ubuntu 9.04

今までmaznはWindowsの共有フォルダにLinuxからアクセスする時は、m …

no image
akamaitechnologies.comってなに??

ふとWindowsでnetstatを叩くと、akamaitechnologies …

no image
サーバが落ちてsshが応答しない@CentOS 5

ssh でサーバにログインしていて、サーバが落ちた時に反応がなくなってイライラし …

no image
EntityBean @ JBoss 4.2

JBoss 4.2でEntityBeanを作ってみた。 @Idアノテーションは書 …