SSH(linuxもwindowsも)のきそ的な?

2016年7月22日

さて小学あたりは夏休みでわいわい。大学生はいよいよテストにさしかかろうとしてピリピリしています。

毎年、7月のこの頃からセミさんが鳴き始めてるような気もします。今年はテストはないけど、テストが終われば夏休み、学部生最後の夏の始まりです。

そんな中、連日のお遊びサーバー構築に際し色々と知識が蓄えられている感じです。今日はリモート接続を行いました。

0.まず、状況をまとめようかと思います。

  • winの恩恵に授かりし者である故にラボと自宅はwin
  • 携帯PCはMac
  • 作っているのはubuntu server上
  • ラボにはゲートウェイ(gw)がもちろんある。

で、やりたいことは

  • 自宅からラボwinとラボubuntu両機にリモートで繋ぎたい
  • 携帯PC(Mac)から同じく両機に繋ぎたい
  • ラボwinからラボubuntuに繋ぎたい

って感じなりますね。まぁ一通りのめんどくさいSSHの設定をすることになるのではと思います。それでは行きましょう!!

1.リモート先のマシンの設定

winは簡単ですね。リモートアクセスを許可することで簡単にOKがでます。

linuxはsshdをinstallしてから各種設定が必要です。ってかずっと回しててね

このファイルを弄くります。色々載ってますね

  • rootログインを禁止する
  • 公開鍵の場所指定
  • (公開鍵認証にしたら)パスワード認証を禁止

こんなもんでしょうか。ポートの指定もできますね。

みたいですね。ちなみに、更新したらsshd restartをかけましょう。で、公開鍵認証について少しふれますね

1.5公開鍵認証

コレヤる前はパスワード認証がいいでしょうね

秘密鍵を懐に隠している人がいるとすると、こいつは秘密鍵にあうような公開鍵をもった番人を通過できるといったところでしょう。感覚的には割印が押された文書のうち、かけらの方が秘密鍵、大きな方が公開鍵。

公開鍵はクライアントで作ります。普通にシェルで作るときは場所と鍵に対する暗証文を入力すれば勝手に公開鍵(id_rsa.pub)と秘密鍵(id_rsa)が出来ます。ってことでサーバーにはid_rsa.pubを上げればいいんです。移し方はscpコマンド

がいいんじゃないのでしょうか?

で、クライアントがwinならputtygenで作ります。これはさっきみたいにパスを打つけど、ぐるぐるやるので楽しいです。同じく作られますけど、秘密鍵は.ppkです。

※ぐるぐる = 暗号化のシードになる。ちなみにlinuxでは内部温度・時刻とかでやっているらしい。

ppkとrsaはputtygenで相互変換できますんで、安心してください。一つのサーバーに1組でいいもんね!

あと、設置フォルダのパーミッションには気をつけましょう。.sshは600、秘密鍵は700でないと接続してくれません。ちゃんとした所に認められし者だけが見れるようにしないとね。。ちなみにputtyはppkを隠されちゃうと探せないのでパーミッションは普通にしとかないと(755くらいまで)

2.linux (Mac)-> win

Macとリナックスは違いますがどうせ端末使う羽目になるので、、、、基本的に、/.ssh/configを編集してエイリアスを作れば早く出来ます。sshコマンドを長く打ちたくないです。だって、ssh (エイリアス) だもんね。configの中は

みたいな感じでいいと思います。ポートフォーワードはまた今度。つながったら、色々やり方はありますが僕はmicrosoftのリモートデスクトップのやつ使ってます。特に設定せずとも行くことが出来ます。簡単です。※MacのキーとWinのキーがあってんのか知らない。慣れてないだけかも

3.win -> linux

puttyを使います。基本的にputtyですよねwinは!困ったらcgwinだけども。。。

ホスト名やポート、ポートフォーワードとか設定すれば簡単に行きます。コレもつながったらmicrosoftのリモートデスクトップでやってます。鬼簡単

4.結局、

つなぎ方はサーバーに依存して、やり方はクライアントに依存します(意味不明)。一見難しくなさそうですが、単純につなぐだけなら最悪、ホスト名・パス・ポートでいけます。追加で公開鍵使うなら公開鍵とパスぐらいです。セキュリティ的には公開鍵を使えば漏れないかぎり余裕っぽいです。セキュリティパラメーターとかはしりませんが、、、

で、セキュリティてきな観点からこんな単純なはずがありません。ポートが22で固定かつNATで分岐してないとかだと、22番がフルボッコにされる可能性があります。大規模ネットだったら、中継サーバがありますね、そこを通過して中の奴らいじるとか、、、そんな時

前者ならポートフォーワードを使って、ポートを変える(語弊あるかな?)。後者なら多段SSHして中継(踏み台)サーバを通過して更に次のネットワークに繋いだりします。こいつらについてはまた今度です。難しいし、、、、めんどいし、、、、、、まぁ、configに書ければことは早いんだけどね。。。

 

linux

Posted by tanico.rikudo