トップページunix
1001コメント324KB

SSH その3

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。NGNG
SSHに関する情報交換のスレッドです。

FAQ、リンク集は >>2-5 あたり。

前スレ: http://pc.2ch.net/test/read.cgi/unix/1028157825/
前々スレ: http://pc.2ch.net/unix/kako/976/976497035.html
0714名無しさん@お腹いっぱい。NGNG
>>713
Debian も・・・
0715名無しさん@お腹いっぱい。NGNG
Linux って標準インストール(そういうものがあるのか知らんが)に ssh が入っているの?
入っているのに許可しまくりじゃ怖いな
0716名無しさん@お腹いっぱい。NGNG
>>715
Debian は、標準でインストールされるが、sshd をたちあげるかどうかは選べる。
Fedora は、標準でインストールされるが、sshd はデフォルトでは起動しない。
0717名無しさん@お腹いっぱい。NGNG
どんな大手ディストリビューションもOpenSSHが入っていてsshdが設定の有無はあるにせよ起動可能。
*BSDも同様。
0718名無しさん@お腹いっぱい。NGNG
>>717
なにを寝ぼけたことを言っているのやら。
0719名無しさん@お腹いっぱい。NGNG
そーですね
0720名無しさん@お腹いっぱい。NGNG
>>716
なるほど知らないうちにインストールされて
且つ、勝手に起動されるってことは無さそうですね。
0721名無しさん@お腹いっぱい。NGNG
昔は結構あったね。
勝手にサービス起動してるやつ。
最近はうるさいから。
0722名無しさん@お腹いっぱい。NGNG
>>712 あたり
そもそも上流で PermitRootLogin yes がデフォルトになってるのが謎だ。
0723名無しさん@お腹いっぱい。NGNG
>>716
Fedoraもデフォルトで起動されるが、
ファイアウォールのデフォルト設定で遮断される。
0724名無しさん@お腹いっぱい。NGNG
最近ssh2へのアタックが激しいんですが、
何かあったんですかね?
0725724NGNG
>>611 だったんですね ^^;
0726名無しさん@お腹いっぱい。NGNG
>>723
ファイアウォールって hosts.deny のこと?
0727名無しさん@お腹いっぱい。NGNG
iptablesじゃねぇの?
0728名無しさん@お腹いっぱい。NGNG
>>726
寝ぼけてるのか釣りなのか…
0729名無しさん@お腹いっぱい。NGNG
昨日の夜
Failed password for root from x.x.x.x port nnnn ssh2
が3秒おきに2650回... 鬱だ
0730名無しさん@お腹いっぱい。NGNG
>>729
/sbin/route add -host x.x.x.x reject
0731名無しさん@お腹いっぱい。NGNG
だからTCPWrappersで.jpと既知の接続元のみに絞っとけと(ry
0732名無しさん@お腹いっぱい。NGNG
rblsmtpd の ssh 版があるといいのかな?
0733名無しさん@お腹いっぱい。NGNG
tcpserverでsshdを待っていれば良い
0734名無しさん@お腹いっぱい。NGNG
iptablesだろ。
0735名無しさん@お腹いっぱい。NGNG
だから、どっからでもアクセスできるようにする必要は無いだろっつの
0736729NGNG
いや実際
PermitRootLogin without-password
だから 実害はないわけですがログが大量に出るのがいやなだけで Faildのはメールで届くようにしたんで朝見たら警告メールが2650通... と言うだけです。
どんな方法で拒否しても拒否したことをメール通知するようにしてたら同じだけ届くことには違いないわけでって、sshの話題じゃないですね。
0737名無しさん@お腹いっぱい。NGNG
>>736
ssh の前で drop しろっつの
0738729NGNG
>>737
dropしたらしたでdropした通知が来るわけで... ただの愚痴です。
0739名無しさん@お腹いっぱい。NGNG
ネタ?
仮にdropしたもの全部の情報が欲しいとしても
重要度の高い通知が埋もれるのは本末転倒なので、
都合のいい集計フィルタをつくったりするんだけどね。
賢いロガーをつかってもいいし。
0740名無しさん@お腹いっぱい。NGNG
リモートのサーバにあるファイルをPOPのようにSSH経由で(ただしPOPはまったく使わずに)取得→サーバ上のファイルは削除
ってのやりたいんだが、どうもうまい方法が見つからない。
rsync --deleteとかそういうのできるかと思ったができなかった(やるとしたら向こうからこっちにrsyncしないといかんヽ(`Д´)ノ)。

皆さん知恵を貸してくださいませ。
0741名無しさん@お腹いっぱい。NGNG
どうしても1コマンドでやりたければ、
ssh remote-host rsync --delete ...
とか。
0742名無しさん@お腹いっぱい。NGNG
>>740
smv 欲しくなるときあるよね。
0743名無しさん@お腹いっぱい。NGNG
ある、けど無い理由も解る
0744名無しさん@お腹いっぱい。NGNG
接続元IPアドレスによって、
パスワード認証を許可するか or 公開鍵認証のみにするか
を指定するには sshd_config でどう記述すればよいのでしょうか。
どなたか教えてください。
0745名無しさん@お腹いっぱい。NGNG
>>744
sshdをふたつ立ち上げる。
0746名無しさん@お腹いっぱい。NGNG
あー、なるほど。
とほほほほ。。。。
0747名無しさん@お腹いっぱい。NGNG
>>746
tcpwrapper で IP によって sshd -f ... を twist する。
0748名無しさん@お腹いっぱい。NGNG
多分初歩的なことだと思うんですが、

ttp://www.jp.freebsd.org/QandA/HTML/1949.html
を参照して、
鯖でssh-keygenして出来たid_dsa.pubを、クライアント側の~/.ssh/authorized_keys2にしたのですが、
入ろうとすると、Permission denied.(pubkey)と言われてしまいました。
何か勘違いしてますでしょうか?

pubkeyを使わずpasswd認証だけなら普通に入れてます。
0749名無しさん@お腹いっぱい。NGNG
>>748
とりあえずサーバー、クライアントのOS名とバージョン、
sshdやsshクライアントの名称とバージョンを書くよろし。
0750名無しさん@お腹いっぱい。NGNG
サーバ側の鍵をクライアントで認証したいの??
0751名無しさん@お腹いっぱい。NGNG
>>748
> 鯖でssh-keygenして出来たid_dsa.pubを、クライアント側の~/.ssh/authorized_keys2にしたのですが、

逆。
クライアント側でssh-keygenして出来たid_dsa.pubを、
サーバー側の~/.ssh/authorized_keysにコピーしないと。
0752748NGNG
>>751,>>751
やはり初歩的(っつーか根本的)なことでした。
なるほどそういうことだったのか...
解決です。thx。
0753初期不良NGNG
公開鍵暗号の仕組みをもう少し理解して使った方がいいんじゃないかと...
0754名無しさん@お腹いっぱい。NGNG
>>748の便乗質問です。

priとsecの2台のサーバがあります。
その2台のサーバに向かって、同じクライアントホストから、
telnetコマンドで22番をたたいてみると、

$ telnet pri.***.com 22
Trying...
Connected to pri.***.com
Escape character is '^]'.
SSH-2.0-OpenSSH_3.6.1p2

$ telnet sec.***.com 22
Trying...
Connected to sec.***.com
Escape character is '^]'.
SSH-1.99-OpenSSH_3.6.1p2

みたいな感じで、表示される結果が違います。
サーバ側であがっているSSHのverが違うってことなんでしょうか?

両方のサーバの状態をそろえるにはどこを手直ししたらよいのでしょう?
疑うことができるところを教えて欲しいのですが。。。

ちなみに、
・両サーバのsshd_configは同じ。
・バイナリーもpriからsecに同じもの(OpenSSH3.6.)を移動
・sshdの再起動は両サーバで実施済み。
・両サーバ、クライアント全てOSは赤帽9
です。
0755754NGNG
補足。

・実現したいこと
priが障害でpriのIPがsecに移った時に、
同じIPにむかってsshでログインしようとすると、
いまクライアント側にある、サーバ側の公開鍵が書き換わったよ、
(DSAの公開鍵→RSAの公開鍵?)
みたいなメッセージが出てしまって、
書き換えますかみたいなyes/no聞かれてしまいます。
このメッセージが出なくなるようにしたいのですが。。。
0756名無しさん@お腹いっぱい。NGNG
>>754
> ・バイナリーもpriからsecに同じもの(OpenSSH3.6.)を移動
そんなことやって大丈夫なの?

>>755
~/.ssh/known_hosts から公開鍵を手で消すとか。
UserKnownHostsFile をいじるとか。
0757754NGNG
>>756
>> ・バイナリーもpriからsecに同じもの(OpenSSH3.6.)を移動
>そんなことやって大丈夫なの?
書き方わかりにくくてすまそ。
言いたかったことはpriとsecはクラスタ構成ってやつで、
ハードから入ってるアプリとかもすべて、
環境は同じにしているつもり、ってことです。
#同じじゃないからだめなんだろうとはおもうけど。。。
バイナリ云々は気にしないでください。


>~/.ssh/known_hosts から公開鍵を手で消すとか。
>UserKnownHostsFile をいじるとか。
known_hostsも同じにものにしてます。
切り替わった後に手を加えないでsshで入りたいんです。
一度公開鍵を書き換えれば、その後はyes/no聞かれずに入れます。
(ただ、またpriに切り替わったらyes/no聞かれます。。。)
言葉足らずですまそ。
0758名無しさん@お腹いっぱい。NGNG
クライアントで切り替わったのを意識したくなかったら、
それこそサーバのホスト鍵も一緒にするしかない。

priとsecで同じアドレスを引けるようにして、
ssh pri
ssh sec
とすればknown_hostsのエントリは別個になるけども。
0759754NGNG
>>758
>クライアントで切り替わったのを意識したくなかったら、
>それこそサーバのホスト鍵も一緒にするしかない。

なるほど。それはわかりました。

えーと、いまその二つのサーバに入れないからちょっと確認できないんだけど、
ssh-keygenで作った鍵はrsaもdsaも二つともあって、
全く同じkeyが二つ、priにもsecにも両方にあるとする。

そのとき、サーバ側のホスト鍵をどれを使うかを、
たとえば、クライアントのホスト名とか、ログイン先(元)のユーザ名ごと
によってつかいわけることってできるんでしょうか。
できるとしたら、それを決めるファイルってどれなんでしょう。

telnetで22をたたいたときの、
---
pri: SSH-2.0-OpenSSH_3.6.1p2
sec: SSH-1.99-OpenSSH_3.6.1p2
---
ステータスが違うから、
サーバごとに、デフォルトで参照するホスト鍵もちがうのかなと、
ちとおもいました。

汚してばかりで申し訳ない。。。
0760名無しさん@お腹いっぱい。NGNG
おすすめできないけど、
~/.ssh/ssh_config でこうするとホスト鍵変わっても質問されなくなる。

Host: pri
StrictHostKeyChecking no
Host: sec
StrictHostKeyChecking no
0761名無しさん@XEmacsNGNG
>>759
> そのとき、サーバ側のホスト鍵をどれを使うかを、
> たとえば、クライアントのホスト名とか、ログイン先(元)のユーザ名ごと
> によってつかいわけることってできるんでしょうか。

sshd のレベルでは各アルゴリズム (rsa1/rsa/dsa) 毎に有効な鍵は
高々一つなので、そういうことをやりたい (それができたところで
問題が解消されるとも思えないんだけど) なら sshd を起動する前
の段階 (tcp_wrapper とか) でなんとかせにゃならんでしょうね。

> pri: SSH-2.0-OpenSSH_3.6.1p2
> sec: SSH-1.99-OpenSSH_3.6.1p2

この辺り、man page にも載ってないし、ぐぐってもあんまり見付か
んないぽいけど、1.99 と 2.00 の違いは protocol version 1 系を
サポートするかしないか。普通は sshd_config の Protocol の設定
を反映するもん。

だもんで、sshd_config の内容が前の書き込みにあった通り本当に
両ホストで同一なんだとすれば、こうなる原因として考えられるの
は、pri の方に version1 用のホスト鍵が置いてない、くらい。
0762SSH野郎NGNG
SSH2でRSA2とDSAどっちつかってる?
で、採用の決め手はなんかも教えれ。
0763名無しさん@お腹いっぱい。NGNG
>>762
DSA。小倉優子が使っているから。
0764名無しさん@お腹いっぱい。NGNG
ありすだろ?
0765名無しさん@お腹いっぱい。NGNG
ぐむむ
0766名無しさん@お腹いっぱい。NGNG
lsh
http://www.lysator.liu.se/~nisse/lsh/

って、どうですか?
使った事ある人います?
0767名無しさん@お腹いっぱい。NGNG
いません
0768名無しさん@お腹いっぱい。NGNG
>>766
「SSHサーバのフリーな実装」ではOpenSSHより先だったのにね…
0769名無しさん@お腹いっぱい。NGNG
SSHサーバのフリーの実装はSSHが最初では?
0770名無しさん@お腹いっぱい。NGNG
>>769 ssh.com は SSH2 以降のライセンスがなー
それに >>768 は OpenSSH より lsh の方が先だったとしか言っていないと思うのだが
0771名無しさん@お腹いっぱい。NGNG
♪あぁ〜すれちがい〜
0772名無しさん@お腹いっぱい。NGNG
>>770
まあ >>769>>768 が間違いと言ってるわけじゃないし、みんなマターリ逝こう。
0773名無しさんNGNG
A(red hat)192.168.134.2/usr/local/sbin/sshd -p 3690

          192.168.134.1
B(red hat)ssh -fNL 1080:192.168.134.2:3690 192.168.134.2
          192.168.136.1

C(debian) 192.168.136.2ssh -fNL 1080:192.168.136.1:1080 192.168.136.1

C マシンから
$ ssh -p 1080 localhost
とやってC->B->Aと繋げたいのですが


C マシンで
ssh_exchange_identification: Connection closed by remote host
と出ます
多段ポートフォワードがまちがっているのでしょうか?

A,B,Cともにhosts.allow, hosts.denyは記述なしです
どのようにすればできるのかおしえてください
0774名無しさん@お腹いっぱい。NGNG
>>773
ssh -g
0775名無しさん@お腹いっぱい。NGNG
複数回ログオンに失敗した場合に
一定時間ロックする設定はあるのでしょうか?
0776773NGNG
>>774
できました。
オプションが必要だったんですね
どもでした
0777名無しさん@お腹いっぱい。NGNG
ログ見たら

Oct 21 00:46:01 <auth.info> XXXXX sshd[2601]: Did not receive identification string from 221.186.131.165

の後に

Oct 21 00:57:54 <auth.info> XXXXX sshd[2608]: Failed password for nobody from 221.186.131.165 port 43766 ssh2
Oct 21 00:57:54 <auth.info> XXXXX sshd[2610]: Illegal user patrick from 221.186.131.165

というのが約150行も(0:46から00:59まで)…。221.186.131.165は踏台にされてんのか?

あと、

Oct 21 05:49:31 <auth.info> XXXXX sshd[3312]: Failed password for nobody from 218.237.65.10 port 51714 ssh2

も…(以下略)


こういうことがあると、
 >>775
 あったら嬉しいかもね。
0778名無しさん@お腹いっぱい。NGNG
>>777 禿同です。このpatrick...て言ってくるやつ、うちの鯖にも
よく来るよ。こういうのは大抵IP番号をdynamicにやっていてあとで
ログみても発信元をトレースできないのが大部分だよね。
sshに手を入れる自信はないですが、syslogを見張るデーモンを
作って、繰り返しlogin失敗するのがいたら自動的に一時
route テーブル設定でパケット排除するようにするくらいなら
結構すぐできるかも。
0779名無しさん@お腹いっぱい。NGNG
>>778

うちにも来ていた。whoisで調べると複数のプロバイダになっているけど、
IPアドレス自体が偽装なのか?
0780名無しさん@お腹いっぱい。NGNG
うちに最近きた patrick... は半島からだな。
220.117.18x.xx
0781777NGNG
>>778
> syslogを見張るデーモンを
> 作って、繰り返しlogin失敗するのがいたら自動的に一時
> route テーブル設定でパケット排除するようにするくらいなら
> 結構すぐできるかも。

 すげーな。俺にはできないです (^^;;
 俺なら単純にそのブロックまるごとフィルタリングでパケットを叩き落し
ますけどね。あるいは、アクセス元を自分が使うプロバイダ「のみ」に限定
するとか。

>>779
>>777の 221.186.131.165 か?これはOCNが確保したブロックの一部分を、株式会社
***(←一応伏せとく)に貸しているというような状態。
0782名無しさん@お腹いっぱい。NGNG
>>781
apache+mod_SSLで自CAでキー作成にて、SSLページ準備。
mod_PHPにて、接続元IPを識別して、ファイルorDBに書き込むスクリプト作成。
上記スクリプトページに.htaccessにて、BASIC認証を施す。
rootのcronで、ファイルorDBを見て、「IPが有ったらsshdへのアクセスを許可」する。
と同時に一定時間経過したIP情報は削除する。

許可の方法はipfwでもhosts.allow/denyの操作など、いろいろポリシーにて変化するだろうが、
さほど重くはない。

つーことで、うちではsshdへのアクセスは基本denyで必要なときだけどこからでもallowにしてます。
不満はcronが1分おきで...

本当はメール受信→特定アカウント&コマンド抽出→sshdアクセス許可としたいんだけど、mandokuse
0783名無しさん@お腹いっぱい。NGNG
>>782
apacheが落ちて、起動させようとsshでログインしようとしたら(りゃ
0784名無しさん@お腹いっぱい。NGNG
なかなかおもろいことやってんね。
携帯とかからアクセスするのにも使えそうだな。
0785名無しさん@お腹いっぱい。NGNG
>>783
番犬(WatchDog)は基本中の基本ですね...
0786名無しさん@お腹いっぱい。NGNG
ここ数年「apacheが落ちた」なんて、見たこと無い...
0787名無しさん@お腹いっぱい。NGNG
>>786
2ちゃんねるではしょっちゅう落ちていますよ。様々な要因はありますけれども。
0788名無しさん@お腹いっぱい。NGNG
>>775 こういうのがある。
ttp://www.derkeiler.com/Mailing-Lists/securityfocus/Secure_Shell/2004-09/0113.html
0789名無しさん@お腹いっぱい。NGNG
patrickというユーザーを作って(passwdもpatrickとかにしといて)、
ログインしやがったら激しく苛める、なんて仕組み作れないかなぁ
0790名無しさん@お腹いっぱい。NGNG
FreeBSDサーバが落ちまくってるらしいな。
0791名無しさん@お腹いっぱい。NGNG
>>790

そうか?
0792名無しさん@お腹いっぱい。NGNG
>>789

攻制防壁
0793名無しさん@お腹いっぱい。NGNG
>>789
んー、俺もなんかやり返してやりたいよ。
どうにかできないものかな。
0794名無しさん@お腹いっぱい。NGNG
honeypotdのスクリプトを公開している奴がいたな。

あんまり苛めると目をつけられてDDoSされるかもしれないからDDNSサーバーとかでやったほうがいいかも。
0795名無しさん@お腹いっぱい。NGNG
っつか、ログを見ていてなんとなく思うんだけど、
意図的にやってるヤツばっかじゃなくて、
無自覚にやってそうなヤツが多くない?
0796名無しさん@お腹いっぱい。NGNG
whoisすると中国のIPが多い。
0797名無しさん@お腹いっぱい。NGNG
>789
 ログインしたら .login とかシェルのスタートアップが走るから、そこに
仕込んどきゃいい……のかな?
 とりあえず相手の IP は分かってるわけだから、DoS やり返して潰す
くらいはできそうだけど。
0798名無しさん@お腹いっぱい。NGNG
>>795
いわゆる zombie host というケースも結構多いんじゃないかな?
DoS やり返すのはあまり得策じゃないような。
0799名無しさん@お腹いっぱい。NGNG
patrickでログインに成功した風なんだけど、1文字1文字すごーーーーい長い時間がかかるってのはどう?
0800名無しさん@お腹いっぱい。NGNG
一種の蜜壷じゃん
0801名無しさん@お腹いっぱい。NGNG
Solaris の login(1) なんかは、
認証失敗したときのウェイトを自由に設定できるみたいだけど、
その他の OS ではそういうのできないのかな?

って、もう SSH と全然関係ないな・・・
0802名無しさん@お腹いっぱい。NGNG
いっそjailかchrootでsandboxを用意して、ログインに成功したら
どういう挙動を示すのか観察してみたら。
なんか小学校のころの蟻さん観察みたいだけど。

FreeBSDだとipfwでdummynetかませば>>799みたいにできるけど、
他のOSでもできるのかな?
0803名無しさん@お腹いっぱい。NGNG
ssh通信の暗号化って、どのレベルまで及ぶのですか?
具体的には、ファイル名も暗号化されているのでしょうか?
0804名無しさん@お腹いっぱい。NGNG
外から見てわかるのは、ああ SSH で通信してるなあ、ってなくらいのレベル。
0805名無しさん@お腹いっぱい。NGNG
>>803
ファイル名って、SSHをなんだと思っているんだ、お前?
0806名無しさん@お腹いっぱい。NGNG
推測するに、コマンドラインの各引数をrot13するものみたいに想像してるんじゃなかろうか。
0807名無しさん@お腹いっぱい。NGNG
>>805
SCP だと思ってるんだよ、きっと
0808名無しさん@お腹いっぱい。NGNG
>>804
どのサーバに接続してるかは分からない?
0809名無しさん@お腹いっぱい。NGNG
それがわからなかったら途中のルータはIPパケットのルーティングに悩んでしまうぞ
0810名無しさん@お腹いっぱい。NGNG
>>808
わかる
0811名無しさん@お腹いっぱい。NGNG
心配しなくてもおまいがエロ画像を落してるのは周囲にバレバレだ。
0812名無しさん@お腹いっぱい。NGNG
ファイル名も保護したいんだったら stunnel 使えばいいじゃん
0813名無しさん@お腹いっぱい。NGNG
>>807
むしろSSL、さらにはhttpsとの混同をしている雰囲気が。
■ このスレッドは過去ログ倉庫に格納されています