SSH その4
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
NGNGFAQ、リンク集は >>2-5 あたり。
過去ログ
Part1:http://pc.2ch.net/unix/kako/976/976497035.html
Part2:http://pc.2ch.net/test/read.cgi/unix/1028157825/ (dat落ち)
春山さんのとこ→ http://www.unixuser.org/%7Eharuyama/security/openssh/dat/pc.2ch.net_80__unix_dat_1028157825.html
Part3:http://pc5.2ch.net/test/read.cgi/unix/1058202104/
0132名無しさん@お腹いっぱい。
05/03/13 14:57:13無いので内科医。パッチを書いてる人はぽつぽつ居るようだ。
ttp://bachue.com/alejo/patches.html
ttp://groups-beta.google.com/group/mailing.unix.openssh-dev/msg/6a74edfbea3c5601?q=%5BPATCH%5D:+scp+program+improved&hl=en&lr=&ie=UTF-8&oe=utf-8&rnum=1
0133130
05/03/13 18:36:05どうもありがとうございます。
とりあえず玄箱でchrootsshとresumeのパッチを当てたopensshを作ってみます。
ご報告は後ほど...(まだまだ初心者なのでトラブル可能性が...)
0134130
05/03/15 01:16:37ttp://groups-beta.google.com/group/mailing.unix.openssh-dev/msg/6a74edfbea3c5601?q=%5BPATCH%5D:+scp+program+improved&hl=en&lr=&ie=UTF-8&oe=utf-8&rnum=1
のパッチがうまく当たらないので土日にでもdiffファイルの構造を調べて、
ソースを書き換えてみます...
0135名無しさん@お腹いっぱい。
05/03/16 17:36:19ルーターでWAN側とLAN側のポートを切り替えてるから静かなものだよ。
0136名無しさん@お腹いっぱい。
05/03/16 18:53:411つの鍵を全部の接続先に登録しても問題ないですか?
0137名無しさん@お腹いっぱい。
05/03/16 19:00:21それよりも、接続元として使うマシンが複数ある場合、
接続元ごとに違う鍵を作ることの方がむしろ大事。
0138名無しさん@お腹いっぱい。
皇紀2665/04/01(金) 07:10:47みたいなんですが、この期間を長く設定するにはどこいじればいいですか?
0139名無しさん@お腹いっぱい。
皇紀2665/04/01(金) 08:43:350140名無しさん@お腹いっぱい。
皇紀2665/04/01(金) 09:17:410141名無しさん@お腹いっぱい。
皇紀2665/04/01(金) 11:59:07どこかでNATしてない?
もしそうならそのNAT箱の実装がださいのでそれを窓から投げ捨ててまともな機材に入れ替えろ
0142名無しさん@お腹いっぱい。
UNIX時間(+0900)35年,2005/04/02(土) 17:43:24使っているシェルは何でしょ?
tcshならシェル変数autologoutというのがあるわけで、それかなー、とオモタ。
(ただし、自動ログアウト時には auto-logout というのが表示されるから、今回
の件とは関係がないかも…。)
0143名無しさん@お腹いっぱい。
UNIX時間(+0900)35年,2005/04/02(土) 18:27:06ところで、sshd宛のattackは以前は中国・台湾からが多かったけど、
竹島条例以来、半島からのが増えてる。
奴らはわかりやすいなぁ。
0144138
UNIX時間(+0900)35年,2005/04/02(土) 18:42:39/etc/profileに
TMOUT=1800
と設定してます
たしかに自動ログアウトの表示はでずに反応がなくなるんで、この設定とは
関係ない気もします
>>141,143
NAT、KeepAliveをヒントに調べてみたらそれらしきものがありました どうもです
http://www.geocities.co.jp/AnimeComic/1098/documents/unixmemo/ssh-keepalive.html
0145名無しさん@お腹いっぱい。
UNIX時間(+0900)35年,2005/04/02(土) 22:52:170146名無しさん@お腹いっぱい。
UNIX時間(+0900)35年,2005/04/03(日) 02:11:270147名無しさん@お腹いっぱい。
2005/04/07(木) 00:21:11どこに置けばいいのかわからない。
もしかしてどこでもよくて、なんかのファイルで指定するの?
誰か教えてください。
0148名無しさん@お腹いっぱい。
2005/04/07(木) 00:35:03くわしくはssh(1)を参照
0149名無しさん@お腹いっぱい。
2005/04/07(木) 00:35:07~/.ssh/ か ~/.ssh2/ あたり。
0150名無しさん@お腹いっぱい。
2005/04/07(木) 08:41:13cd ~/.ssh/
そのようなファイルやディレクトリはありません。
/etc/ssh/ の事?
0151名無しさん@お腹いっぱい。
2005/04/07(木) 08:53:05おまいは使わないほうが良いと思われ。
Cygwin の OpenSSH も 4.0p1 になってて驚いた。
0152名無しさん@お腹いっぱい。
2005/04/07(木) 09:35:280153名無しさん@お腹いっぱい。
2005/04/07(木) 13:34:13いい機会なのでじっくりたっぷりねぶるように勉強してください。
ディレクトリがなければ自分でつくれ。
0154名無しさん@お腹いっぱい。
2005/04/07(木) 13:48:25http://linux2ch.bbzone.net/index.php?bashBeginner#neac2d23
0155名無しさん@お腹いっぱい。
2005/04/08(金) 14:02:31にキー置いて
PuTTYでログインしようとしたら
server refused our key
って表示されます。
どこが悪いのでしょうか?
設定はほとんどデフォルトです。
0156名無しさん@お腹いっぱい。
2005/04/08(金) 14:10:260157名無しさん@お腹いっぱい。
2005/04/08(金) 14:14:480158名無しさん@お腹いっぱい。
2005/04/08(金) 15:06:28自分に対してくれたレスぐらい見ようよ、見直そうよ。
0159名無しさん@お腹いっぱい。
2005/04/08(金) 15:19:120160名無しさん@お腹いっぱい。
2005/04/08(金) 17:58:51> /root/.ssh/id_rsa.pub
( ゚д゚)ポカーン
0161名無しさん@お腹いっぱい。
2005/04/08(金) 20:03:26たまには man ssh 汁
0162名無しさん@お腹いっぱい。
2005/04/08(金) 20:28:25その程度の理解しかできてないのに「rootでログインを許可した」とか
しれっと言われちゃうとさすがに恐くてのー。
0163名無しさん@お腹いっぱい。
2005/04/08(金) 21:41:27$ grep -i root /etc/ssh/sshd_config
とやって結果をここに貼りなされ。話は
それからぢゃ。
0164名無しさん@お腹いっぱい。
2005/04/08(金) 22:00:530165名無しさん@お腹いっぱい。
2005/04/08(金) 22:15:49( ゚д゚)ポカーン
0166名無しさん@お腹いっぱい。
2005/04/09(土) 23:34:250167名無しさん@お腹いっぱい。
2005/04/10(日) 16:50:12なんかインストールするたびにある時とない時があるんだけど・・・^^;
0168名無しさん@お腹いっぱい。
2005/04/10(日) 17:50:29デふぉではsshd_config にその記載行は無い。
0169名無しさん@お腹いっぱい。
2005/04/10(日) 17:54:340170名無しさん@お腹いっぱい。
2005/04/11(月) 07:09:02WinSCP3っていうソフトだけど接続先、一箇所しか登録してないから
起動時にその接続先に接続したいんだけど
オプションとかで指定できないのかな?
-load とか試したけど読み込んでくれない。
0171名無しさん@お腹いっぱい。
2005/04/11(月) 07:30:080172名無しさん@お腹いっぱい。
2005/04/11(月) 18:13:47なんかいまいち使いにくい。
シンプルなやつか多機能なやつ、どちらを使おうか悩んでる。
シンプルでお勧めなのと、多機能でお勧めなのを教えて( ゚Д゚)ホスィ
0173初期不良
2005/04/11(月) 18:50:56Cygwin OpenSSH
0174名無しさん@お腹いっぱい。
2005/04/11(月) 21:26:22TeraTermのUTF-8対応版とか?多機能...だよね?
0175名無しさん@お腹いっぱい。
2005/04/12(火) 00:24:03http://ja.poderosa.org/
VaraTerm がオープンソース化
http://slashdot.jp/article.pl?sid=05/04/07/1326207
0176名無しさん@お腹いっぱい。
2005/04/12(火) 16:03:11それ鍵認証に対応してるの?
0177名無しさん@お腹いっぱい。
2005/04/12(火) 16:11:010178名無しさん@お腹いっぱい。
2005/04/12(火) 20:14:20イ ラ ネ
0179名無しさん@お腹いっぱい。
2005/04/12(火) 21:09:260180名無しさん@お腹いっぱい。
2005/04/15(金) 18:23:10に、デフォルトで
PasswordAuthentication no
PermitEmptyPasswords no
RhostsRSAAuthentication no
X11Forwarding no
Subsystem sftp /usr/libexec/openssh/sftp-server
これらの記述があったと思うんだけど
なぜかほとんどない・・・再インストール後ってこんなもの?
0181( ゚д゚)ポカーン
2005/04/15(金) 18:32:37Date: 2005/04/15(金) 18:23:10
# vi /etc/ssh/ssh_config
に、デフォルトで
PasswordAuthentication no
PermitEmptyPasswords no
RhostsRSAAuthentication no
X11Forwarding no
Subsystem sftp /usr/libexec/openssh/sftp-server
これらの記述があったと思うんだけど
なぜかほとんどない・・・再インストール後ってこんなもの?
_______________________________________________________________
0182名無しさん@お腹いっぱい。
2005/04/15(金) 18:40:10だったのか・・・orz
0184名無しさん@お腹いっぱい。
2005/04/15(金) 19:30:490185名無しさん@お腹いっぱい。
2005/04/15(金) 21:34:02生きてるだけで恥さらし
みつを
0186名無しさん@お腹いっぱい。
2005/04/16(土) 21:30:201. IDカードに表示されている数字列(時間で変わる)を見る
2. その数字列をあるプログラムに食わせると、ワンタイムパスワードが生成される。
3. sshでそのパスワードを使ってログインする。
というものなんですが、2.から3.へコピペするのが面倒なんで、自動化
したいんです(ちなみにそれだけなら構わないと会社に言われています)
ssh-agentとssh-add使ってスクリプトでなんとかなるかと思いましたが、
パスワードには対応してないみたいですね。SSH_ASKPASSも無視されるし。
(OpenSSH 3.9p1です)
で、sshはパスワードをどうも標準入力ではなく、/dev/ttyからしか
取ってくれないみたいなんで困っています。
なんかいい方法はないでしょうか。ファイルに書き出すとか、psで
見えてしまうのはまずいです。一時的にシェル変数に格納される
くらいならいいですけど。
0187名無しさん@お腹いっぱい。
2005/04/17(日) 00:48:27つ openpty(3)
0188名無しさん@お腹いっぱい。
2005/04/17(日) 02:02:30ありがとうございます。でもド素人には荷が重いアドバイスかも。
openptyしてforkして制御端末化してからsshをexec。
親はバッファリングを止めて子の出力を見てパスワード要求が来たら
パスワード送ってそのあとは入出力をそのままスルーで流すって
感じですか?
...ちょっとシェルスクリプトレベルを超えてる気がしますが、やってみます。
0189名無しさん@お腹いっぱい。
2005/04/17(日) 08:47:320190名無しさん@お腹いっぱい。
2005/04/17(日) 09:09:030191名無しさん@お腹いっぱい。
2005/04/17(日) 10:44:38ありがとうございます。結局ptyをperlから扱えるモジュールを探したら、
IO::PtyとExpect.pmにたどり着きました。TCLは知らないのでEXPECT(1)を
覚えるよりPerl使ったほうが早そうです。
サンプルの2.B.rloginってやつがほとんどそのまま使えそう。
>>190
そんな気はしますが、あんまり触りたくないんですよね。
結局スレ違いになっちゃって、すみません。
0192名無しさん@お腹いっぱい。
2005/04/19(火) 23:00:45configureで最近のlibcryptoが無いって怒られます。
で、see config.logとも出るので、見てみるんですが、いまいちわかりません。
config.logは長いので、ここには貼り付けられません。
環境は玄箱HG debian sargeです。現在3.8.1.p1が入ってます。(OpenSSL-0.9.7e Zlib-1.2.2)
ちなみに、LD_LIBRARY_PATHやPATHは通してあります。
何ぞヒントになるポインタだけでも与えていただけないでしょうか?宜しくお願いします。
0193名無しさん@お腹いっぱい。
2005/04/19(火) 23:20:50> configureで最近のlibcryptoが無いって怒られます。
> ちなみに、LD_LIBRARY_PATHやPATHは通してあります。
下手な要約や翻訳をせずに、やった操作とエラー出力をそのまんまコピペしる。
0194名無しさん@お腹いっぱい。
2005/04/20(水) 02:18:36ページをたまに見かけるんだけど、なぜ安全な方法で持って
いかなければならいのか、わかりません。
公開鍵から秘密鍵とか計算できるの?
嘘を嘘であると見抜ける(ry
0196春山征吾 ◆unIxUSernc
2005/04/20(水) 12:09:02ユーザの公開鍵が他者に知られると、
他者が偽ホストを作ってそこにログインさせようとする攻撃に対する防御が弱くなります。
ホストの認証が適切に行われれば防げますが、
SSHのホストの認証は相手のホスト公開鍵を入手しておかないと機能しません。
たとえば、先方のホストの入れ換えがあって、ホスト公開鍵が変わったことはわかっているが
ホスト公開鍵そのものは知らないという状況では、
新しく提示されたホスト公開鍵を信用してしまいがちです。
ユーザの公開鍵が真に安全に渡され管理されていれば、
ホストの認証がごまかされてもユーザの認証の段階で不審なことに気づきやすいでしょう。
(公開鍵を登録してもらったはずなのにパスワードのプロンプトがでるな? とか)
なのでユーザの公開鍵も*可能ならば*安全な方法で渡したほうがよいと思います。
0197名無しさん@お腹いっぱい。
2005/04/20(水) 12:17:30理由とするにはかなり無理矢理な感じのする屁理屈だなあ。
0198名無しさん@お腹いっぱい。
2005/04/20(水) 13:18:45セキュリティホールとその対策なんてそんなもんよ
半分はブービートラップ半分は屁理屈
0199名無しさん@お腹いっぱい。
2005/04/20(水) 13:37:100200名無しさん@お腹いっぱい。
2005/04/20(水) 13:44:48わかってない人とかエセコン猿だとそうかもね。
>>199
知らないおじさんについていかないよう、人見知りする子に育てた方がいいと思いますみたいな。
0201名無しさん@お腹いっぱい。
2005/04/20(水) 17:10:22受け入れるようにしておけば疑う余地はないし、最初の1回でその公開鍵を入手できる。
0202春山征吾 ◆unIxUSernc
2005/04/20(水) 17:38:56認証の際にユーザの公開鍵を送るので、そうされたらダメですね。
196は撤回します。お騒がせして失礼しました。
0203春山征吾 ◆unIxUSernc
2005/04/20(水) 17:44:26安全でない手段でユーザの公開鍵を送ると、
途中で他者に公開鍵をすりかえられて、
サーバへの登録後正規のユーザが確認するより先に他者にログインされる
という攻撃はあると思われます。
0204名無しさん@お腹いっぱい。
2005/04/20(水) 17:52:55わざわざすりかえなくともいきなり偽の公開鍵送りつけても
サーバに登録してもらえそうな気がした。
「あー、おれおれ。この鍵入れといて」って。
0205名無しさん@お腹いっぱい。
2005/04/20(水) 19:32:01公開して問題ない鍵なのに、安全な方法で送る必要ねぇだろ、アホか。
0206名無しさん@お腹いっぱい。
2005/04/20(水) 19:36:30なら >>203 に反論してよ。
0207192
2005/04/20(水) 21:34:31apt-get installでsshをインストール。
バージョンが3.8.1p1だったので、openssh-4.0p1.tar.gzを取得して/home/userでtarコマンドで展開
openssh-4.0p1ディレクトリの中でmkdir build && cd buildして ../configureを実行。
3分弱くらいで
configure: error: *** Can't find recent OpenSSL libcrypto (see config.log for details) ***
となりました。
以上です。宜しくお願いします。
もう一度環境ですが、玄箱HG debian sarge gccバージョン3.3.5です。
0208名無しさん@お腹いっぱい。
2005/04/20(水) 22:00:49chrootまたはjailなどの隔離環境でクライアントに接続試験させてから本格的に
ホームディレクトリで運用させれば良いんじゃないの。
そこまでする必要にせまられったことは今まであったこと無かったが。
0210春山征吾 ◆unIxUSernc
2005/04/20(水) 22:36:18管理者が、
・正規ユーザと確認してから登録する
なり
・(鍵自体の確認手段がないなら)正規ユーザがログインできるかどうかすぐに確認してもらえる状況で登録する
などといったポリシーに基づいて鍵の登録を行う
とユーザの側からでなく管理者の側からとらえたほうがいいのかな。
0211名無しさん@お腹いっぱい。
2005/04/21(木) 01:18:03違う。
>>194は「持っていく」と書いているので、その気になれば安全な
方法で持っていって自分で登録できる人、と読める。
自分で登録できるなら登録後のverifyも可能なので、途中経路での
すり替えは気にする必要ない。当然公開鍵は盗み見られてもかまわない。
ってことで、>>194はただの杞憂。
もし、「持っていく」ではなく「ログインしたいサーバの管理者に渡す」
という話なら、>>210となる。
0212名無しさん@お腹いっぱい。
2005/04/21(木) 01:25:26・フィンガープリントは安全な経路で伝達
こうじゃないの?
0213春山征吾 ◆unIxUSernc
2005/04/21(木) 02:19:35・正規ユーザと確認してから登録する -> ・正規ユーザの鍵と確認してから登録する
です。
>>212
それも管理者が確認できる方法のひとつです。
0215名無しさん@お腹いっぱい。
NGNGGlobalKnownHostsFile as read only known_hosts
http://www.nantoka.com/~kei/diary/?200504b&to=200504181#200504181
「REMOTE HOST IDENTIFICATION HAS CHANGED」が出たら、~/.ssh/known_hostsを消せ
0216名無しさん@お腹いっぱい。
2005/04/21(木) 16:05:300217名無しさん@お腹いっぱい。
2005/04/22(金) 23:15:391000番から2000番までのポートを対象のサーバへ
それぞれフォワードさせたいのですが可能でしょうか。
コマンド的には以下のような感じです。
ssh 192.168.2.1 -L 1000-2000:192.168.1.1:1000-2000 -g
0218194
2005/04/23(土) 00:25:30てっきり、公開鍵と暗号化された通信内容から秘密鍵が割り出せて
通信内容がばれる可能性があるのかと思ってた。
(これは現実的な時間では計算できない?っぽい。)
全然違うことを心配していました。
気になったのですが>>202は、間違えてませんか?
認証の際にユーザの公開鍵を送ることはたぶん無いですよ。
http://www.unixuser.org/~euske/doc/openssh/jman/ssh.html
の「チャレンジ」周辺に書いてあります。
正解は、>>195
0219春山征吾 ◆unIxUSernc
2005/04/23(土) 10:16:34SSH1のRSA認証では(チャレンジの前に)クライアントがユーザの公開鍵を送ります。
一致する公開鍵がサーバにあるとその鍵を使ったチャレンジをサーバが送ります。
SSH2の公開鍵認証でも、通常はまずクライアントはユーザの公開鍵を送り
サーバはその有無を返します。
クライアントがユーザの秘密鍵を用いた署名を送る際にもユーザの公開鍵をつけます。
0220春山征吾 ◆unIxUSernc
2005/04/23(土) 10:42:49クライアントからの情報を検証せずとも偽ホストは適当な返答を返して
ログインを許可できるので
その意味でも
>>196 は間抜けでした。
0222名無しさん@お腹いっぱい。
2005/04/25(月) 17:52:18SSH初心者なのですが、ポートフォワードに関して教えていただけないでしょうか?
一つのサーバーにSSH、WebDav(Apache)サーバ、IRCサーバを動かしているのですが
ユーザー1とユーザー2がいるとして
・ユーザー1はポートフォワードでWebDavのサーバーにしか転送できない
・ユーザー2はIRCのサーバーにしか転送できない
と言った設定をする事は可能でしょうか?つまりユーザー1がIRCを利用したり、
ユーザー2がWebDavを利用したりできないように特定のポート番号だけをフォワードできるようにする設定にしたいのですが
厨質問ですみません、御教授下さい・・・
0223無しさん@お腹いっぱい。
2005/04/25(月) 20:51:20ユーザ毎設定をサーバでやるいうのは出来んように思う。
0224名無しさん@お腹いっぱい。
2005/04/25(月) 21:28:55待て。クライアントは公開鍵なんぞ送らんぞ。
一度クライアント公開鍵を削除してからRSA認証でログインしてみれ。
0225名無しさん@お腹いっぱい。
2005/04/25(月) 21:44:49debug3: authmethod_is_enabled publickey
debug1: Next authentication method: publickey
debug1: Offering public key: /home/user/.ssh/id_rsa
debug3: send_pubkey_test
debug2: we sent a publickey packet, wait for reply
...送ってない?
0226名無しさん@お腹いっぱい。
2005/04/25(月) 21:44:57permitopen
0227名無しさん@お腹いっぱい。
2005/04/25(月) 22:52:15公開鍵を送ってんじゃなくて「公開鍵認証方式で認証してくれ」っていうリクエストを送ってる。
/home/user/.ssh/id_rsa ←これクライアント秘密鍵だし。
0228名無しさん@お腹いっぱい。
2005/04/25(月) 23:19:46>>225を見て興味を持ったので俺もコードを見てみた。
どの公開鍵でなのかを伝えるために、公開鍵そのものを送ってるように思う。
(もちろんサーバはそれを無条件に使うわけではなくて、
ユーザのauthorized_keysに同じものがあれば使うんだろうけど)
sshconnect2.cのuserauth_pubkeyとsend_pubkey_test。
0229名無しさん@お腹いっぱい。
2005/04/25(月) 23:34:30公開鍵(例えばSSHv2のRSAならid_rsa.pub)をクライアントから削除して、
秘密鍵だけ置いた状態でサーバにSSH接続を試してみて。
接続できるでしょ?
つまり公開鍵を送っているわけではないってこと。
0230名無しさん@お腹いっぱい。
2005/04/25(月) 23:52:18ただしくは「どの公開鍵でなのかを伝えるために秘密鍵を使う」です。
動作の詳細は自分もはっきり説明できるわけじゃないんだけど(SSHv1と
SSHv2でも少々異なるようだし)、たとえばユーザAとしてログインしようとしてるとして、
まずSSHクライアントが「この秘密鍵ログインしたい」とサーバに伝える。
んで、SSHサーバ側で、その秘密鍵に対応する公開鍵が
/home/ユーザA/.ssh/authorized_keysに登録されているかどうか見る。
で、登録されているクライアント公開鍵でランダムデータを暗号化してクライアントに送る。
クライアント側ではその暗号化データをクライント秘密鍵で複合化して送り返す。
クライアント側の秘密鍵で正しく複合化できたら、クライアント側の
秘密鍵とサーバ側にある公開鍵が正しいペアだと証明できるので、認証される。
ってな具合だと思う。(本当はもっと複雑なことやってるらしいが)
0231名無しさん@お腹いっぱい。
2005/04/25(月) 23:57:25「秘密鍵を使う」というのが具体的にどういう使っているのか説明してくださいな。
できればコードに即しておねがい。
0232名無しさん@お腹いっぱい。
2005/04/26(火) 00:00:20秘密鍵ファイルには公開鍵の情報も含まれているわけだが
■ このスレッドは過去ログ倉庫に格納されています