- PR -

LAN内リモートアクセス

1
投稿者投稿内容
トリックスター
大ベテラン
会議室デビュー日: 2003/04/16
投稿数: 104
投稿日時: 2005-12-09 18:21
   ルータ
  22| |
サーバ1 サーバ2

現在、インターネット越しにSSHで接続すると
IPマスカレードでサーバ1にログインできます。

サーバ2にログインする方法を考えています。
1.Telnetはセキュリティホールになるので使いたくない
2.グローバルIPをもう一個取得してSSH
 サーバ2を外部公開する必要がない場合、無駄。
3.VPNを構築してSSH(LAN内ならTelnetでもよい)
 なかなか良い。
4.一旦、サーバ1にログインしてからSSH(LAN内なら
 Telnetでもよい)
 面倒だけど、これでも良い。

など、あると思います。他にあれば教えてください。

今のところ、3か4なのですが、別に両方できても良い
かなと。
で、質問の焦点は「TelnetかSSHか」になるのですが、
SSHであるに越したことはないと思っています。
で、さらに焦点を絞ると、

現在、サーバ1へはSSH2での接続のみ許可しています。
サーバ2へもそれでよいと思っていますが、
・クライアント→サーバ1(INET)
・クライアント→サーバ2(VPN)

・サーバ1→サーバ2(LAN)
とで、多少事情が違うと思われます。
というのは、クライアントは自分の秘密鍵を誰にも
公開することなく保持しています。そして、サーバ1
、サーバ2に公開鍵を置くことにより接続可能です。
クライアントのユーザーとサーバのユーザーは1対1の
関係なので何の問題もありません。
サーバ1も同じように秘密鍵を持ち、サーバ2に公開鍵
を置くことで接続可能ですが、サーバ1のユーザーと
サーバー2のユーザーは多対多(ちょっと表現が変?)
の関係なので、ユーザー数分の鍵を作成し、サーバ2
にユーザー数分の公開鍵を置かなければいけないので
しょうか?
それとも。サーバ1に全ユーザ共通の鍵を作成するなん
てことができるのでしょうか?
そう言えば、ApacheをSSL対応する際に鍵を作成しまし
たが、これを流用できますか?

一般的にはどのようにしているのでしょうか?
もちろん、サーバ3、4と増えても複雑にならないよう
にしたいです。

あまりに複雑であるのならば、Telnetでよしとしよう
と思いますが、そのあたりの判断材料を求めての質問
です。

よろしくお願いいたします。
非武装エリア
大ベテラン
会議室デビュー日: 2004/03/03
投稿数: 202
お住まい・勤務地: 日本・たこ部屋
投稿日時: 2005-12-09 18:54
プレーンテキストをLAN上に流したくないという前提として。

1.まずServer1、Server2にそれぞれすべてのユーザ用の共通アカウントを作成。
  ただし、そのユーザIDの権限を出来るだけ少なくしておく。
2.そのアカウント用のSSHのキーを作成して利用者に配布。
3.クライアントPCではSSHクライアント(PuttyやTeraTerm等)でSSHで共通アカウントでServerにアクセスする。
  このとき、SSHクライアントでSSHトンネルの設定を行い例えばポート1023をServer側のポート23にリダイレクトするように設定する。
4.クライアントPC側でTELNETを使いServerにアクセスする。このときTELNETは

   telnet localhost 1023

  のようにSSHにてリダイレクトしているポートを指定する。
  
5.TELNETの「Login:」プロンプトが出たら、ログインIDは本来(各人)のIDを使ってログインする

ってのは如何? 
非武装エリア
大ベテラン
会議室デビュー日: 2004/03/03
投稿数: 202
お住まい・勤務地: 日本・たこ部屋
投稿日時: 2005-12-09 19:19
追加情報:

そうそう、Server1、Server2ではtelnetdを有効にしますが、ローカル以外からのTELNET接続は受け付けないようにiptablesとかで設定しておくのを忘れてはいけませんでしたね。

あとクライアントPCから、Server1とServer2に同時に接続したいなら、SSHのセッションをServer1、Server2それぞれに対して行っておき、Server1用のSSHトンネル用のポート番号を1023としたなら、Server2側は2023とかの別の番号にしておく必要がありますね。

トリックスター
大ベテラン
会議室デビュー日: 2003/04/16
投稿数: 104
投稿日時: 2005-12-13 17:02
ご教授ありがとうございます。

引用:

プレーンテキストをLAN上に流したくないという前提として。



実は、これにはこだわっていません。
「運用があまり複雑にならなければ、
 Telnetよりは、SSHの方がよいかな」というレベルです。

私にとって、ご提案いただいた方法は、複雑に思えます。
せっかくご提案いただいたのに申し訳ございません。

引用:

1.まずServer1、Server2にそれぞれすべてのユーザ用の共通アカウントを作成。
  ただし、そのユーザIDの権限を出来るだけ少なくしておく。



そうですね。問題ありません。

引用:

2.そのアカウント用のSSHのキーを作成して利用者に配布。



SSHキーは利用者側で作成し、公開鍵をサーバーに置くというポリシーにしています。

引用:

3.クライアントPCではSSHクライアント(PuttyやTeraTerm等)でSSHで共通アカウントでServerにアクセスする。
  このとき、SSHクライアントでSSHトンネルの設定を行い例えばポート1023をServer側のポート23にリダイレクトするように設定する。



ここが、ものすごく複雑に感じます。
と言いますか、理解できていません。

 クライアント
1023| |2023
   ルータ
  23| |23
サーバ1 サーバ2

ということでしょうか?

引用:

4.クライアントPC側でTELNETを使いServerにアクセスする。このときTELNETは

   telnet localhost 1023

  のようにSSHにてリダイレクトしているポートを指定する。


引用:

5.TELNETの「Login:」プロンプトが出たら、ログインIDは本来(各人)のIDを使ってログインする



サーバ1からサーバ2へ接続する際はどうなりますでしょうか?
あつしfx
大ベテラン
会議室デビュー日: 2002/04/08
投稿数: 104
お住まい・勤務地: XPできるところ
投稿日時: 2005-12-16 00:31
問題を整理すると、
1.インターネットからLAN内のサーバにアクセスしたい
2.TELNETはあけたくない
3.サーバは増えるので、後々の管理は簡単にしたい
ってことですかね?

となると
非武装エリアさんの
共通アカウントではいって、はいってきたユーザーにsu - をするようなshellスクリプトを書けばいいんじゃないでしょうか?
あとはそれぞれのサーバにsshdをあげて、ルーターでインターネット側のポートをサーバーごとのsshdポートに振り分ける

でいいと思います。
_________________
http://aglabo.com/ @Homepage
http://furukawa-select.com/mt/ @Blog
1

スキルアップ/キャリアアップ(JOB@IT)