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/
0681shin
2005/11/11(金) 01:09:34>自動で切れるんじゃないの。
ありがとうございます。
しかし、プロセスまで切れるのはなぜですか?
大体、2時間ほどで起こるのは、どこかに設定が問題ありますか?
この前は3日間はもんだいなかったんですが、
このSSHクライアントに接続したマシンを変えたら、起こりました。
0682名無しさん@お腹いっぱい。
2005/11/11(金) 01:15:180683shin
2005/11/11(金) 01:20:35たとえば、conn.sh です。
0684名無しさん@お腹いっぱい。
2005/11/11(金) 01:22:210685名無しさん@お腹いっぱい。
2005/11/11(金) 01:23:32while
if ***
ssh ***
else
sleep 20
end
の程度です。
0686名無しさん@お腹いっぱい。
2005/11/11(金) 01:25:550687名無しさん@お腹いっぱい。
2005/11/11(金) 01:28:25ごめんなさい。そうです。
起動したconnプロセスも、SSHプロセスも同時に切れるということです。
シェルスクリプトの内容は無限ループなのに…
0688名無しさん@お腹いっぱい。
2005/11/11(金) 01:44:570689名無しさん@お腹いっぱい。
2005/11/11(金) 01:51:36間違いはないはずです。間違ったら、はじめに起動できないと思います。
0690名無しさん@お腹いっぱい。
2005/11/11(金) 01:54:540691名無しさん@お腹いっぱい。
2005/11/11(金) 03:11:24セル!
セル!
0692名無しさん@お腹いっぱい。
2005/11/11(金) 10:29:490693名無しさん@お腹いっぱい。
2005/11/11(金) 11:17:40間違いはないはずです。〜〜〜ったら、〜〜〜と思います。
間違いはないはずです。〜〜〜ったら、〜〜〜と思います。
間違いはないはずです。〜〜〜ったら、〜〜〜と思います。
間違いはないはずです。〜〜〜ったら、〜〜〜と思います。
間違いはないはずです。〜〜〜ったら、〜〜〜と思います。
間違いはないはずです。〜〜〜ったら、〜〜〜と思います。
間違いはないはずです。〜〜〜ったら、〜〜〜と思います。
初心者がこう言う時、バグは大抵この場所に潜んでいる。
0694名無しさん@お腹いっぱい。
2005/11/11(金) 11:50:35以下が実際シェルスクリプトのソースです。
よろしくお願いします。
#!/bin/bash
LOG=/home/xxxx/logs/ssh.log
LANG=
SSHCMD="ssh -v -p xxxx -l ${USER} -C -L 1415:localhost:1482"
while true
do
isAlive=`ps -auxwww | grep -i "$SSHCMD" | grep -v grep | wc -l`
if [ ${isAlive} -eq 0 ]; then
echo ${isAlive} 1>> ${LOG}
date 1>> ${LOG}
ssh -v -p xxxx -l ${USER} -C -L 1415:localhost:1482 -R 3482:localhost:1414
xxx.xxx.xx.xxx /usr/bin/sleep 1000 1>> ${LOG} 2>>&1 &
fi
sleep 20
done
0695名無しさん@お腹いっぱい。
2005/11/11(金) 11:58:020696名無しさん@お腹いっぱい。
2005/11/11(金) 12:03:0120秒ごとに、SSHプロセスを検索して、もし、SSHプロセスがなかったら、
もう一回、SSHの接続を行います。
0697名無しさん@お腹いっぱい。
2005/11/11(金) 12:04:350698名無しさん@お腹いっぱい。
2005/11/11(金) 12:05:36OSが分からんが、シェル自体をnohup付で起動してやらないと駄目とかない?
というか、cronでいいじゃん、という気もするが。
プロセスチェックlsofなり(netstatなり)でportのLISTEN状況のチェックに変えて。
0699名無しさん@お腹いっぱい。
2005/11/11(金) 12:15:14nohup付、cronは使わない形にしたいです。nohupはうまくいかなかったです。
>プロセスチェックlsofなり(netstatなり)でportのLISTEN状況のチェックに変えて。
すいませんが、こちをちょっと、よくわからないですが、その方法を教えてもらいますか?
よろしくお願いします。
0700名無しさん@お腹いっぱい。
2005/11/11(金) 12:19:120701名無しさん@お腹いっぱい。
2005/11/11(金) 12:19:510702名無しさん@お腹いっぱい。
2005/11/11(金) 12:21:55別のセッションで断続的になっても構わないのね。
ちょっとかわった要望。
0703名無しさん@お腹いっぱい。
2005/11/11(金) 12:45:02意味が分からないんだが、sleep 1000でも、1000秒で切れるわけ
じゃないよ。ポートフォワーディング中はフォワードしてる
全セッションが終了するまでsshは待つけど、それは分かってて言ってる?
0704名無しさん@お腹いっぱい。
2005/11/11(金) 12:46:370705名無しさん@お腹いっぱい。
2005/11/11(金) 13:06:24autosshの実現方法は、どういうふうしたら、よいでしょうか?
その方法、よろしくお願いします。
0706名無しさん@お腹いっぱい。
2005/11/11(金) 13:18:40http://www.harding.motd.ca/autossh/
ここにRHEL2用のパッケージがある。
http://dag.wieers.com/packages/autossh/
0707名無しさん@お腹いっぱい。
2005/11/11(金) 14:11:25ありがとうございます。早速、autosshを試してみます。
一応、この検証としてはSSHサーバとSSHクライアントは何も変わらなくて
SSHクライアントに接続しているテストマシン(三日間発生してない)から
別の環境のマシン(2時間ほどで発生しますが、データの送受信量によって
発生頻度が変わります。)に変えたらこの問題が発生してます。
0708名無しさん@お腹いっぱい。
2005/11/11(金) 14:17:02ps で調べるなんてムダな気がするのは俺だけ?
これだけでええやん。
#!/bin/bash
while true
do
ssh (オプションなどは省略)
sleep 20
done
0709名無しさん@お腹いっぱい。
2005/11/11(金) 14:27:10これは、多分、無理だと思います。
SSHサーバー側で、もんく、ありましたので....
0710名無しさん@お腹いっぱい。
2005/11/11(金) 14:29:37なんで無理なん?
0711名無しさん@お腹いっぱい。
2005/11/11(金) 14:39:29そうです。始めはこれと似た方法でしましたが、SSHサーバー側で
なぜ、毎回、起動するのはいやだということでしたので....
0712名無しさん@お腹いっぱい。
2005/11/11(金) 14:43:31言ってることがよくわからないんだが。
>>708 で ssh をフォアグラウンドで上げれば
>>694 と変わりないじゃん。
0713名無しさん@お腹いっぱい。
2005/11/11(金) 14:54:02その「SSHサーバ運用者」がアレな気も。
0714名無しさん@お腹いっぱい。
2005/11/11(金) 14:54:50>>>711
>言ってることがよくわからないんだが。
こちは、SSHサーバは別の会社で管理するということです。
>>708 で ssh をフォアグラウンドで上げれば
たれかが、CTRL+Cかを押すと切れるはずですね。
>>694 と変わりないじゃん。
プロセス検索で、あったら、とりあえず再起動するところはとおらないはずです。
0715名無しさん@お腹いっぱい。
2005/11/11(金) 14:58:46ここで聞くより
自分の母語のコミュニティで聞いた方がいいんじゃないか?
0716708
2005/11/11(金) 15:03:07だから、 >>708 をバックグラウンドで動かせばいいじゃん。
と思ったが、 autossh でも使った方がいろいろ面倒が無くていいか。
0717名無しさん@お腹いっぱい。
2005/11/11(金) 15:15:33>>>714
>だから、 >>708 をバックグラウンドで動かせばいいじゃん。
ありがとうございます。
しかし、この方法は、試したことがあるので、とりあえずは使わないです。
0718名無しさん@お腹いっぱい。
2005/11/11(金) 15:20:51>>>714
>だから、 >>708 をバックグラウンドで動かせばいいじゃん。
ありがとうございます。
しかし、この方法は、試したことがあるので、とりあえずは使わないです。
0719名無しさん@お腹いっぱい。
2005/11/11(金) 21:04:28つ daemontools
0720名無しさん@お腹いっぱい。
2005/11/11(金) 21:08:45絶対出てくると思った。
俺は我慢してたが。
0722名無しさん@お腹いっぱい。
2005/11/11(金) 22:01:170723名無しさん@お腹いっぱい。
2005/11/13(日) 10:57:14けど、たまにソケットファイルのロックにひっかかって死んでることが...
0724名無しさん@お腹いっぱい。
2005/11/13(日) 18:10:130725名無しさん@お腹いっぱい。
2005/11/13(日) 19:44:260726名無しさん@お腹いっぱい。
2005/11/13(日) 20:59:06プロセスが死んだ時に ControlPath に書いたソケットファイルが残っちゃうってはなし。
0727名無しさん@お腹いっぱい。
2005/11/14(月) 15:00:47ここのパッケージを使って
floppyfw で sshd を動かすところまではできたのですが,
パスワードなしでのログインができません.
クライアントの公開鍵をサーバの /root/.ssh/authorized_keys
に追加しているのですが, 鍵認証に失敗してパスワード認証しようとします.
パスワードなしでログインできるようにするにはどうすればいいでしょうか?
ログは以下のようになっています.
クライアント側ログ
$ ssh -v root@192.168.20.19
[snip]
debug1: Authentications that can continue: publickey,password,keyboard-interactive
debug1: Next authentication method: publickey
debug1: Trying private key: /home/user/.ssh/identity
debug1: Offering public key: /home/user/.ssh/id_rsa
debug1: Authentications that can continue: publickey,password,keyboard-interactive
debug1: Offering public key: /home/user/.ssh/id_dsa
debug1: Authentications that can continue: publickey,password,keyboard-interactive
debug1: Next authentication method: keyboard-interactive
debug1: Authentications that can continue: publickey,password,keyboard-interactive
debug1: Next authentication method: password
root@192.168.20.19's password:
0728名無しさん@お腹いっぱい。
2005/11/14(月) 15:01:34サーバ側ログ
# sshd -d
[snip]
debug1: userauth-request for user root service ssh-connection method none
debug1: attempt 0 failures 0
Failed none for ROOT from 192,168,20,1 port 3970 ssh2
debug1: userauth-request for user root service ssh-connection method publickey
debug1: attempt 1 failures 1
debug1: test whether pkalg/pkblob are acceptable
Failed publickey for ROOT from 192,168,20,1 port 3970 ssh2
debug1: userauth-request for user root service ssh-connection method publickey
debug1: attempt 2 failures 2
debug1: test whether pkalg/pkblob are acceptable
Failed publickey for ROOT from 192,168,20,1 port 3970 ssh2
debug1: userauth-request for user root service ssh-connection method keyboard-interactive
debug1: attempt 3 failures 3
debug1: keyboard-interactive language devs
Failed keyboard-interactive for ROOT from 192,168,20,1 port 3970 ssh2
0729名無しさん@お腹いっぱい。
2005/11/14(月) 15:52:59皆さんの協力、ありがとうございます。
この起動セールスクリプトは問題ないです。
この問題は急ぎやらなければできないので、結局はCronTabに登録して、1分ごと
にチェックするようにして、解決しました。今のところ、元は30分〜4時間で
一回、この起動セールスクリプトが切れたんですが、10時間ほどだったんですが
発生してなかったです。よい解決方法とは、なりませんが......
0730名無しさん@お腹いっぱい。
2005/11/20(日) 17:35:33Vine3.2で sftp サーバーを構築しています。
hpn-ssh のパッチを当てると高速化が可能であると聞いて、以下の手順で導入してみました。
1) もともと入っていた ssh は apt-get remove ssh で削除
2) openssh-4.2p1.tar.gz をDLして解凍
3) hpn-ssh-4.2p1-hpn11.diff のパッチを当てる
4) $ ./configure --prefix=/opt --sysconfdir=/opt/etc/ssh
5) $ make
6) # make install
7) /etc/rc.d/init.d/sshd の中の sshd 等の場所を prefix で指定したものに書き換え
8) 再起動
これでとりあえず接続は出来るようになったのですが、いかんせん速度が遅いまま
なのです。入れ替える前は 200-300kB/s だったのですが、入れ替え後もほとんど
同じ数値です。hpn-ssh を有効にするには何かオプションの指定のようなことが必要
なのでしょうか? それとも PentiumIII 1GHz ではこのくらいの速度が限界なのでしょ
うか? ちなみに ftp 接続では 8-10MB/s 程度の速度が出ています。
0731名無しさん@お腹いっぱい。
2005/11/23(水) 12:30:06知らないが、パッチを嫁ばわかるだろ。
0732名無しさん@お腹いっぱい。
2005/11/24(木) 13:22:031023以下のポートの転送はできないのでしょうか?
$ ssh -N -v -R80:localhost:80 remote
...
debug1: Remote connections from LOCALHOST:80 forwarded to local address localhost:80
debug1: Entering interactive session.
debug1: Remote: Server has disabled port forwarding.
debug1: remote forward failure for: listen 80, connect localhost:80
Warning: remote port forwarding failed for listen port 80
0733名無しさん@お腹いっぱい。
2005/11/24(木) 13:30:420734名無しさん@お腹いっぱい。
2005/11/24(木) 16:36:39root でも Remote Forwarding で特権ポートは使えませんでした.
サーバ側で root 権限で Local Forwarding ならいけるようです.
remote# ssh -N -v -L80:localhost:2080 localhost
client$ ssh -N -v -R2080:localhost:80 remote
のように二つ動かすしかないんでしょうか.
板違いになりますが, こういうことは iptables で可能なんでしょうか?
0735名無しさん@お腹いっぱい。
2005/11/24(木) 16:48:090736名無しさん@お腹いっぱい。
2005/11/24(木) 17:03:37ちゃんとサーバー側の root で接続してる?
$ ssh -N -v -R80:localhost:80 -l root remote
0737名無しさん@お腹いっぱい。
2005/11/24(木) 20:03:54すいません. なんかボケてたみたいです.
もう一度確認したら root なら Remote Forwarding でできました.
でもこれでは全部 localhost からのアクセスになってしまって
.htaccess でアクセス制限できないんですね.
ディレクトリごとの制御とかはできなくなりますが,
サーバ側の iptables を併用するしかなさそうです.
0738名無しさん@お腹いっぱい。
2005/11/25(金) 15:08:300739名無しさん@お腹いっぱい。
2005/11/25(金) 15:35:510740名無しさん@お腹いっぱい。
2005/11/30(水) 00:27:37友人に公開しようと思っているのですが、
IP アドレスが一つしかありません。
WEB サーバの方は、delegate を使用してなんとかなるのですが、
SSH も delegate を使用できますでしょうか。
ちなみに、JAIL 環境でプライベート IP が振ってあります。
あと、DNS は書いてあります。
ポートをずらして公開するのが手っ取り早いでしょうか。
MOUNT="/* www.example.com1* vhost=-www.example.com1" \
MOUNT="/* www.example.com2/* vhost=-www.example.com2" \
MOUNT="/* www.example.com3/* vhost=-www.example.com3" \
0741名無しさん@お腹いっぱい。
2005/11/30(水) 00:31:580742名無しさん@お腹いっぱい。
2005/11/30(水) 00:46:57暗号鍵認証でのみ許可してれば
セキュリティホール以外で進入されることは
ないと考えてよいですか?
0743名無しさん@お腹いっぱい。
2005/11/30(水) 01:01:26いいえ
0744名無しさん@お腹いっぱい。
2005/11/30(水) 01:43:24公開鍵ではなくて?
0745名無しさん@お腹いっぱい。
2005/11/30(水) 02:05:14そんなことは知っています。
どなたかわかる方、お願いしますm(_ _)m
0746名無しさん@お腹いっぱい。
2005/11/30(水) 02:10:20絶対はないです。
0747名無しさん@お腹いっぱい。
2005/11/30(水) 03:17:18その質問は一番大きなセキュリティホールが質問者の頭に開いている事を示しているから。
そして>>745のレスはおまえが人間のクズである事を示しているので、
もうマトモな解答は付かないだろう。
0748名無しさん@お腹いっぱい。
2005/11/30(水) 03:28:59無線LANもserialも繋がってません。
これで絶対安全ですか?
0749名無しさん@お腹いっぱい。
2005/11/30(水) 06:25:140750名無しさん@お腹いっぱい。
2005/11/30(水) 08:10:410751名無しさん@お腹いっぱい。
2005/11/30(水) 08:23:230752名無しさん@お腹いっぱい。
2005/11/30(水) 10:06:410753名無しさん@お腹いっぱい。
2005/11/30(水) 11:55:090754名無しさん@お腹いっぱい。
2005/11/30(水) 11:57:20ssh -vvvvv me@myhost すると、id_rsa読む所で、
debug2: key_type_from_name: unknown key type '-----BEGIN'
debug3: key_read: missing keytype
こんなん出るんだけど、これって何が起こったの?
0755742
2005/11/30(水) 13:22:47どうもありがとうございました。
ソーシャルハッキングなどを想定してるので「いいえ」ということでしょうか。
少なくともパスワード総当りでは通れないですよね。
>>745 は自分ではないのですが、
不愉快な思いをさせて失礼しました。
0756名無しさん@お腹いっぱい。
2005/11/30(水) 13:57:06> ssh -vvvvv me@myhost すると、
v は三つまで。
> こんなん出るんだけど、これって何が起こったの?
その部分は、まず rsa1 鍵だと思って読んでみたら違ったー、と言っ
てるとこなんで、ログインできない理由とは無関係。
0757754
2005/11/30(水) 15:12:39それは読めば判るんだけど、これって昨日まで使ってたRSA 鍵なんだけど。
ログインできない最後の理由は判っていて、RSA鍵が読めない為に鍵認証
できなくて、パスワード認証は禁止してるからなんだけど。
どうしてRSA鍵が読めないなんて言い出すのかが判らんのよ。
パスワード認証有効にする訳にもいかんし、ssh-keygen -t rsa で鍵作りなおしても
やっぱり読めないとぬかしやがるし。
パーミッションも確認したけど、.ssh/は700で .ssh/id_rsa も600になっとる。
ワケワカラン。
0758名無しさん@お腹いっぱい。
2005/11/30(水) 15:15:08サーバ側の設定が変わったってことはないの?
0760名無しさん@お腹いっぱい。
2005/11/30(水) 15:47:42サーバ側でログ確認した方がいいなじゃない?
それか -d とか。
0761名無しさん@お腹いっぱい。
2005/11/30(水) 16:52:40例えば、Protocol 2 になると rsa1 が使えなくなったりするわけですよ。
サーバ側の管理を >>754 がやってるかどうかも俺らは聞いてないし、
適切にアドバイスできるとでも思ってるんか?
「ログ見ろ」としか言えねぇよ。
0762名無しさん@お腹いっぱい。
2005/11/30(水) 16:57:450763名無しさん@お腹いっぱい。
2005/12/08(木) 00:44:53~/.ssh/rc
から
exec zsh
で zsh を起動させたいんだけど起動しない。
sh ~/.ssh/rc
としてやると普通に起動するんだけど…。
もしかしてこれって仕様?
0764名無しさん@お腹いっぱい。
2005/12/08(木) 01:34:49sshdからpopen(3)されるだけなので対話的プログラムは実行できない。
0765名無しさん@お腹いっぱい。
2005/12/10(土) 02:08:14マシン(B) に対して
ssh -R 8888:localhost:22 hostB
とやりました。この時、hostB にログインして ssh -p 8888 localhost
をすると hostA に接続できるのですが、この hostA, hostB とは関係のない
hostC から ssh -p 8888 hostB しても hostA には接続できません。
これを実現させるのにはどのような設定が必要でしょうか?
0766名無しさん@お腹いっぱい。
2005/12/10(土) 02:43:12sshd_configのGatewayPorts
0767名無しさん@お腹いっぱい。
2005/12/10(土) 09:21:21>It must not produce any output on stdout; stderr must be used instead.
とか書いてあるし、~/.ssh/rc でやるのは無理があるんじゃない?
ログインシェルの初期設定ファイルで環境変数を見て SSH_* が設定されていたら zsh にとばすとか。
っていうか ssh -t example.com zsh だとあかんの?
0768名無しさん@お腹いっぱい。
2005/12/19(月) 07:47:20sshクライアントからviを起動すると未確認のエスケープシーケンスがある。
というエラーが出てしまい、ファイルの編集ができません。
sshからテキストファイルを編集する何か良い方法はないものでしょうか?
0769名無しさん@お腹いっぱい。
2005/12/19(月) 08:00:060770名無しさん@お腹いっぱい。
2006/01/13(金) 16:46:470771名無しさん@お腹いっぱい。
2006/01/25(水) 15:50:08あるIPアドレスからの接続はパスワード認証と公開鍵認証を許可して、それ以外のIPアドレスからの
接続は公開鍵認証のみ許可をする、といった感じの設定は出来ますか?
0772名無しさん@お腹いっぱい。
2006/01/25(水) 16:22:10CVE-2006-0225 http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2006-0225
http://www.st.ryukoku.ac.jp/~kjm/security/memo/2006/01.html#20060125_scp
tun(4)のサポートなんて後でイイから、さっさといろんなバグ潰した4.3を
出せってば :-)
1週間後に出すぞってメールで流してから何週間経っているんだと小一時間(ry
0773名無しさん@お腹いっぱい。
2006/01/25(水) 22:01:50scp 'foo:bar*' .
とか便利に使ってたんだが、バグだったのか…
0774名無しさん@お腹いっぱい。
2006/01/25(水) 23:58:08そーいうことではなくて、記号や空白が名前の一部に入っているファイル
が問題視されているのですが。
たとえば
scp 'foo:bar*' .
であれば、foo というマシン上に
bar foo
bar*
といったファイルがあるとうまくいかないと。
そもそもが、
http://www.redhat.com/archives/fedora-announce-list/2006-January/msg00062.html
には
local to local and remote to remote copy with scp
と書いてあるわけで、
foo という「リモートマシン」から「ローカル」
という時点で、既に今回の対象外な気がしますが。
0775名無しさん@お腹いっぱい。
2006/01/26(木) 01:45:25OpenSSH 情報の http://www.unixuser.org/%7Eharuyama/security/openssh/20060125.html に
> system()関数を用いているためにリモートホストでもシェルによるコマンドの解釈が行われます。
> このため適当に細工を施されたファイル名をコピーすると、リモートホストでユーザの権限でコマンドが
> 実行されます。
なんて書いてあって、リモート側でsystem()関数によるファイル名展開しないように
対策されるのかと勘違いしてました。
0776名無しさん@お腹いっぱい。
2006/01/26(木) 13:51:52> あるIPアドレスからの接続はパスワード認証と公開鍵認証を許可して、それ以外のIPアドレスからの
> 接続は公開鍵認証のみ許可をする、といった感じの設定は出来ますか?
OpenSSH だと config file を変えて sshd 二つ上げとくしかないん
じゃなかろか。
ちなみに $sh.com 版なら HostSpecificConfigって機能を使うと sshd
一つで client host 毎に認証方式を変えることが可能。
0777名無しさん@お腹いっぱい。
2006/01/26(木) 15:53:09ソースアドレスによってはそちらにリダイレクトするようにしたら、
sshdが2つなのをユーザに意識させずに切り替えることもできそう。
pfなら
rdr on fxp0 proto tcp from <allow_password_address> to self port ssh -> $myaddr port 10022
とかになるのかな。
0778771
2006/01/26(木) 20:41:25前の代のサーバはssh.com版を使ってたみたいで、HostSpecificConfig
を使って上記のような設定をしていたので、なんとかOpenSSHで
出来ないものかな、と思いましたが、2つ立ち上げるしかないんですね。
ありがとうございました。
0780773
2006/01/28(土) 04:18:01問題の本質は
> シェルによるファイル名の解釈が2度おこなわれる
事なので、local-to-localやremote-to-remoteのコピーだけの問題じゃない気がしてきた。
remote-to-local、local-to-remote でも、localでのシェルによる解釈、
remoteでのscp起動の時にもシェルを経由するわけだし。
その意味で、OpenSSH 情報の元の記述は的外れでなかった気がしてきた。
なわけで、今回の修正だけではまずいんじゃないかなあ。
■ このスレッドは過去ログ倉庫に格納されています