1 名前:名無しさん@お腹いっぱい。 [2008/02/12(火) 11:20:40 ] SSHに関する情報交換のスレッドです。 FAQ、リンク集は >>2-5 あたり。 過去ログ Part1:pc.2ch.net/unix/kako/976/976497035.html Part2:pc.2ch.net/unix/kako/1028/10281/1028157825.html Part3:pc5.2ch.net/unix/kako/1058/10582/1058202104.html Part4:pc8.2ch.net/test/read.cgi/unix/1102242908/ Part5:pc11.2ch.net/test/read.cgi/unix/1145484540/
68 名前:名無しさん@お腹いっぱい。 [2008/04/23(水) 18:34:17 ] ChrootDirectoryの指定先って、root権限のみで実行書込できるディレクトリのみ? sshd_configに ChrootDirectory /home/%u とかで指定しても、そこが権限無しだったエラーでる。 仕方なくhome/userディレクトリをrootのみの権限にしたら、実際のuserがそのディレクトリに ファイル作成できなくなる… このジレンマってどうやって解消できるんでしょうか?
69 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/03(土) 19:18:57 ] Samba単体と、Samba over SSHで比較すると転送速度はどれ程落ちるのでしょうか? Samba/SMB/CIFS over SSH 導入サイトはヒットするのですが、転送速度は書かれていなくて。 あと、こんな記事を見つけました。 WANからの速度は期待できないのかな。 CIFSアクセスを高速化する「WAFS」 itpro.nikkeibp.co.jp/members/SI/ITARTICLE/20050729/165533/
70 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/04(日) 15:17:16 ] >>69 自分で試せよ
71 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/04(日) 21:56:46 ] >>70 知らねーならいちいちレスすんなよキチガイがwwwwwwww キチガイはさっさと死ね
72 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/04(日) 22:01:53 ] 自演乙
73 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/04(日) 23:39:06 ] >>71
74 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/05(月) 10:17:54 ] PasswordAuthentication no にしてるのですが、パスワードでログインできてしまいます。 ほかに直すところありますか?お願いします。
75 名前:名無しさん@お腹いっぱい。 mailto:sage UsePAM [2008/05/05(月) 13:02:28 ] >>74 RTFM
76 名前:名無しさん@お腹いっぱい。 [2008/05/05(月) 14:23:01 ] 単なるデーモンの再起動忘れ?
77 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/05(月) 14:26:38 ] >>74 PasswordAuthentication dakeja daMe の大文字を抜き出すと、、、
78 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/05(月) 14:27:29 ] オレもそう思う。
79 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/05(月) 17:36:31 ] UsePAM
80 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/05(月) 20:04:33 ] 有機リン系農薬の解毒剤のあれだな。
81 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/05(月) 23:12:39 ] >>71 =◆QfF6cO2gD6
82 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/07(水) 21:13:10 ] ajax ssh ってどうよ?
83 名前:名無しさん@お腹いっぱい。 [2008/05/07(水) 22:36:52 ] なにそれ ブラウザベースで SSH できるの?
84 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/07(水) 23:42:44 ] yes ググると出てくる
85 名前:名無しさん@お腹いっぱい。 [2008/05/14(水) 11:27:02 ] 鍵を窓から投げ捨てて作り直せってさw lists.debian.or.jp/debian-users/200805/msg00063.html >これは Debian 固有の欠陥であり、Debian 派生ではない他の OS には影響があ >りません。但し、他の OS にも弱い鍵が import されることにより、間接的な影 >響はあります。 これはひどい
86 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/14(水) 17:05:54 ] なんでこうなったかというと、バグレポートで「varglindかけたらエラーでまくるぞ」 といわれて対応してたら、うっかり乱数生成部までいじっちゃったという話。 危険な鍵をチェックするツールもあるんだから勘弁してあげて。
87 名前:名無しさん@お腹いっぱい。 [2008/05/16(金) 10:32:22 ] www.debian.or.jp/blog/openssl_package_and_its_vulnerability.html 「既に攻撃ツールはリリースされ、広く既知の状態となっていますので 早めに対応ください」 一体どのくらい脆弱な鍵ができるんだろう・・・?
88 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/16(金) 10:33:43 ] >>86 UNIX板でこの話題を進行させていることに関しては いまいちな感じ
89 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/16(金) 10:45:27 ] >>88 ???
90 名前:名無しさん@お腹いっぱい。 [2008/05/16(金) 10:48:07 ] 朝からSSHログインできなくなったって問合せが複数w blacklist絡みだと思うけど どうやらDebianユーザ由来の低品質な鍵が多数格納されてるっぽいwwww
91 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/16(金) 10:50:31 ] >>90 誰がどこにログインできなくなったのかわからん
92 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/16(金) 10:50:52 ] まあdebianならしょうがないな
93 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/16(金) 10:51:51 ] 「UNIX」ユーザならこんな愚かな真似はやろうともできないしな
94 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/16(金) 10:56:41 ] >87 2^16だから総当たりで楽勝レベル It looks likely that the only remaining source of entropy in the generated keys comes from the PID of the process. This is 16 bits, typically much less effective entropy. So there may, in fact, be just a few thousand possibilities for a specific key size. Looks like 'dowkd.pl' lists about 262,000 entries.
95 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/16(金) 12:00:08 ] イタタ
96 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/16(金) 13:04:45 ] >>93 つNexenta
97 名前:名無しさん@お腹いっぱい。 mailto:sage UsePAM [2008/05/16(金) 18:12:42 ] >>94 262,000なら2^18じゃね?
98 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/17(土) 06:12:16 ] >>85-97 debian以外で生成したカギなら大丈夫?
99 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/17(土) 11:44:40 ] ubuntuもだめだよ
100 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/17(土) 12:28:46 ] >>99 おk debian,ubuntu以外なら大丈夫だよね。 windowsのputtyとかで生成したカギを使う分には・・・。 ま、どっちにせよ鯖はうpだてしないといけんけど
101 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/17(土) 12:50:56 ] ubuntu以外でもdebian派生のモノもダメだし、ubuntuにも派生物山ほどあるみたいだから そういうのも(当該バージョンを元にしているなら)ダメだよ
102 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/22(木) 17:16:54 ] openssh for Winで、sshからあるプログラムを実行したいのだが、 パスワード認証によりWindowsのログオンで使うパスワードを入力してログオンすると 正常に実行するのに、鍵認証でだとエラーが出て実行できない。 原因調査に際しなにかヒントというか手掛かりが欲しいのだが、詳しい方宜しく。
103 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/22(木) 19:55:09 ] なんか、えらそうだな。
104 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/22(木) 20:32:15 ] >>102 Unix&Linux環境だと公開鍵認証が出来ないのは、パーミッションの設定をまず確認するけど Winだとその辺どうなんだろね? とりあえずこんなの見つけたけど、 ttp://mind-craft.cocolog-nifty.com/diary/2007/12/opensshrdp_2483.html もし見てなかったら、ここも見てみて。
105 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/22(木) 20:52:25 ] >>102 【エスパー】くだ質【エラーメッセージ不要】 pc11.2ch.net/test/read.cgi/unix/1207042632/
106 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/23(金) 02:40:27 ] なんだそのうんこスレはwww
107 名前:102 mailto:sage [2008/05/23(金) 06:01:17 ] >>104 ありがとうございます。 書き方が分かりにくかったので整理します。鍵認証は出来ています。 現状認証方法として @パスワード認証 A鍵認証 両方できていますが、@で認証した場合はちゃんと実行できるのに、 Aで認証した場合は実行できないプログラムがあるのです。 参考: ・サーバとクライアント いずれもOpenSSH for Windows v3.8.1p1-1 ・sshから実行したいプログラム netdrive ver4.1.883 これをコマンドラインから起動し、遠隔のあるWebDAVをドライブにマウントする。 ex. NetDrive.exe /s:"sample" 尚、教えて頂いた下記ですが、解決には至りませんでしたが参考になりました。 ありがとうございます。 ttp://mind-craft.cocolog-nifty.com/diary/2007/12/opensshrdp_2483.html
108 名前:名無しさん@お腹いっぱい。 [2008/05/23(金) 09:27:10 ] 1)ログインする 2)ssh-agent 起動する 3)screen 使っていろいろ作業 4)回線切れる 5)再ログイン、screen -dr ウマー 6)しかし ssh-agent は死んでいる どうすりゃいい?
109 名前:108 [2008/05/23(金) 09:31:12 ] あっさり解決した blog.gcd.org/archives/50713097.html
110 名前:名無しさん@お腹いっぱい。 [2008/05/24(土) 16:07:41 ] ssh 経由であっても root のログインは許すなって よくいわれるけど(少なくとも俺の周りでは)、 やっぱり root で遠隔ログインできると便利なんだよね。 パスワード認証禁止して、鍵認証だけにしていても 危険かなぁ。鍵には一応パスフレーズもつけてるし。 まぁ Debian での openssl の最近発覚したアレみたいに その鍵自体が推測可能なものだったら意味ないんだけどさ。
111 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/24(土) 16:59:45 ] なんで一般ユーザでログインしてsuやsudoじゃいけないの?
112 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/24(土) 17:23:17 ] for host in `cat host-list`; do ssh $host .... done として、数百台のサーバに同じ処理をさせたいときがあるから。 スクリプト配ったり..etc
113 名前:名無しさん@お腹いっぱい。 [2008/05/24(土) 17:28:02 ] >>111 いやぁ、遠隔でメンテしてたら、ユーザのホームディレクトリを NFSでマウントしてる autofs がおかしくなってしまって。 まぁ「管理用」の一般ユーザ作ってればよかっただけなんだけど。
114 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/24(土) 19:52:35 ] 今時 Capistrano だろJK
115 名前:名無しさん@お腹いっぱい。 [2008/05/24(土) 20:03:56 ] Ruby 機雷なんで
116 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/24(土) 21:22:54 ] 言語が嫌いでソフトつかえねえって大変だなぁ・・・
117 名前:名無しさん@お腹いっぱい。 [2008/05/29(木) 09:57:47 ] エージェントふぉわーディングのためのソケット ( $SSH_AUTH_SOCK ) が生きているかどうかって 簡単にチェックできますか?
118 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/30(金) 22:24:29 ] 公開かぎ別に -R で Listen できるポートを制限したいのだけど無理かな authorized_keys の permitopen は -L の転送先の制限だよね
119 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/06(金) 04:21:47 ] Openssh for windows って、WindowsのログインIDとPW以外は使えないの?
120 名前:名無しさん@お腹いっぱい。 [2008/06/06(金) 21:37:17 ] ssh-keygen でできる鍵って openssl コマンドでも取り扱えるんだね. date | openssl rsautl -encrypt -inkey id_rsa > test.dat date | openssl rsautl -decrypt -inkey id_rsa < test.dat だけどこれじゃ非対称鍵の意味が全くない. date | openssl rsautl -decrypt -pubin -inkey id_rsa.pub < test.dat ってやってみたら怒られた氏.たぶん公開鍵の方は openssh 独自の形式なんだろう.
121 名前:名無しさん@お腹いっぱい。 [2008/06/06(金) 21:42:20 ] うぉ,>>120 の最後の奴,公開鍵で復号しようとしているよ. まぁいずれにしても公開鍵の形式が違うって怒られるんだけど. openssl rsa -in id_rsa -pubout > id_rsa.pub2 で生成した openssl 的に正しい形式の公開鍵なら これで暗号化できるみたいですね.
122 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/20(金) 19:58:01 ] 初心者質問失礼します 大学でDebianを使っていてOPENSSH4.4以上に更新せよ、と通達が着ました。 しかしapt-get等を用いても4.3になるのみでこの状態でnewestだと 宣言して着ます。Debianのディストリビューションのパッケージを見たら (私の調べ方が悪いのかも知れませんが)確かに最新安定版でも 4.3に見えます。 Debianで4.4以上にする手法は無いのでしょうか?
123 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/20(金) 20:21:08 ] Debianのスレで訊け それと初心者という言葉は免罪符じゃないからな
124 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/20(金) 23:56:33 ] ssh-3.2.9.1なら最新版だぜw
125 名前:名無しさん@お腹いっぱい。 [2008/06/21(土) 06:45:00 ] packages.debian.org/search?keywords=openssh&searchon=names&suite=all§ion=all まぁ lenny (testing) と sid (unstable) には 4.7 があるけどな。 どうしても openssh パッケージをアップグレードしたければ 1)lenny の *.deb ファイルを持ってきて強制的に dpkg でインスコ 2)apt-pinning した上で lenny のリポジトリを souces.list.d に追加し openssh だけをアップグレード。フロントエンドは aptitude が便利。 2)はapt の動作に詳しくなければ全部がそっくり lenny になってしまう という危険性もある。んが、debian 系を使いこなすなら apt-pinning と aptitude は使いこなすべし。 jaqque.sbih.org/kplug/apt-pinning.html wiki.debian.org/AptPinning www.debian.org/doc/manuals/apt-howto/ch-apt-get.ja.html www.gfd-dennou.org/arch/uwabami/cc-env/old/apt.html debian.fam.cx/index.php?AptGet 新旧情報が入り乱れているから最新の情報であれば 英語であっても果敢に読破すべし。って、上のリンクは けして時系列に並んでいるわけではないので自己責任で。
126 名前:へたれです(><) [2008/06/21(土) 23:48:11 ] へたれのSEです。 いろいろ考えて、あちこち探したのですが見つからなかったので質問さ せていただきます。 Aと言うサーバ(192.168.20.1)からBと言うサーバ(192.168.30.1) へSCPを使って自動で夜中にデータを転送する仕組みを作るために、 公開鍵と秘密鍵を使ってSSH通信を可能にしたのは良いのですが、言 いかえればAからはssh 192.168.30.1ってたたくだけでログイン出来て しまいます。(当然なのですが。。。。) このAサーバからのアクセスについて制限をかける事って可能なのでし ょうか? 可能ならAから貰った公開鍵では「serverA」と言うユーザでしかログ イン出来なくし「serverA」のディレクトリ以外は権限を与えないよう にしたいのですが。。。。 この場合のサーバAとサーバBの設定はどのようにすれば良いのでしょ うか? どうぞ、ご教授いただけますか?
127 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/22(日) 00:19:43 ] 接続元によるアクセス制限は sshd の標準機能で実現可能です。 man sshd の authorized_keys あたりの記述をもう一度確認してみてください。 ディレクトリ制限は4.9以降の sshd か、 chrootssh, scponly あたりで実現可。 ファイルのコピーだけがしたいのであれば、scponlyやrsyncも検討すべし。
128 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/22(日) 00:21:59 ] >>126 公開鍵認証ができてるってことは、 「Aから貰った公開鍵では「serverA」と言うユーザでしかログイン出来なくし」 ってのはすでに実現できていますね。 もうちょっと勉強しましよう。
129 名前:へたれです(><) [2008/06/22(日) 12:45:18 ] >>127 >>128 早速のご回答ありがとうございます。 記述がもれておりました(汗) サーバC(192.168.10.1)からも公開鍵を使ってSSH通信が可能な 設定にしてこちらは管理者なのでroot権限を与えたいと思ってます。 >>128 サーバAの設定は 「ssh serverA@192.168.30.1」で サーバBは公開鍵と「serverA」ユーザを紐付ければ良いって事ですね?
130 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/23(月) 01:09:01 ] >>129 君には無理。
131 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/27(金) 04:55:39 ] 君には無理とかじゃなく何回読み返しても質問の意図がまったく解らん
132 名前:名無しさん@お腹いっぱい。 [2008/07/20(日) 16:44:22 ] 自作プログラムをscpで送りつけてsshでリモート実行したら > scp a.out 192.168.1.20:tmp a.out 100% 6497 6.3KB/s 00:00 > ssh 192.168.1.20 ~/tmp/a.out /libexec/ld-elf.so.1: Shared object "libstdc++.so.5" not found, required by "a.out" と言われて実行できません。 libstdc++の問題なのはわかるのですが、その先がわかりません 基本的なことですがよろしくお願いします。
133 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/07/20(日) 16:46:27 ] >>132 ssh は関係ありません。 gcc -static で、static リンクしてください。
134 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/07/20(日) 16:51:54 ] libstdc++.so.5は今は古いな。 ローカルホストにlibstdc++.so.6をインストールして、 それとリンクしたa.outを作ってscpで送り付けるか、 リモート側にlibstdc++.so.5をインストールするかのどちらか。 スタティックリンクは最後の手段で、普通はお勧めしない。
135 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/07/20(日) 16:55:11 ] >>134 > スタティックリンクは最後の手段で、普通はお勧めしない。 なんで?
136 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/07/20(日) 16:56:50 ] >>132 最初から192.168.1.20のホスト上でコンパイルしろよ。何も悩まなくて済むよ。
137 名前:名無しさん@お腹いっぱい。 [2008/07/20(日) 16:57:55 ] すいません、超基本的なことでした libstdc++.so.5が入ってなかったです ありだとうございました
138 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/07/25(金) 03:38:09 ] OpenSSH-5.1p1に上げたら ssh host command ってやった時に .bashrcを読んでくれなくなった… おかげで$HOME/binにあるコマンドを実行するのにいちいち ssh host $HOME/bin/command ってやらなきゃならなくなって大困り… 元のに戻すかなあ…
139 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/07/25(金) 06:51:23 ] >>138 .bashrcは、ログインシェルは読まない。読むのは非ログインシェルのみ。 ログイン時に読ませたい設定は $HOME/.bash_profile等に書く。
140 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/07/25(金) 11:59:02 ] >>139 ssh host command ってやった時にはログインシェルが起きるの? ログインシェルじゃないシェルが起きてそれがcommandをexecするんだと 思っていたんだけど…
141 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/07/25(金) 12:13:13 ] ssh host command の場合、非ログインシェルが起きるのは昔からだな。
142 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/07/25(金) 12:17:48 ] >>138 bashが、shの名前(argv[0])で起動されてるとか、 bash --posix で起動されてたりすると .bashrcを読み込まない。
143 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/07/25(金) 13:08:16 ] >>138 というか、 ssh host command の場合、ログイン先で bash -c command が実行されるが、 -c オプション付きでは .bashrc は読み込まれない。 これは昔から変わっていない。 前のバージョンでは読み込んでいたと思っている記憶が間違っているのでは?
144 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/07/25(金) 15:42:45 ] >>143 いや、5.0p1に戻したらちゃんと.bashrcを読んでくれる。 bashのマニュアルには 「bashは、自分を起動したのがリモートシェルデーモン(通常はrshd)か どうかを調べます。rshdによって実行されているとbashが判断した場合、 ~/.bashrc が存在し、かつ読み込み可能であれば、 bash はコマンドを このファイルから読み込んで実行します。」 とあるので、これが効いている模様。 bashのソース(バージョン3.2、パッチ039まで)を見ると、 リモートから起動されているかどうかは run_startup_files()の中の if ((run_by_ssh || isnetconn (fileno (stdin))) && shell_level < 2) のところで判定している。 ところが、OpenSSH-5.0p1のsshdからつなぐと isnetconn(fileno(stdin))が1になって 結果的に~/.bashrcを読んでくれるのに対し、 OpenSSH-5.1p1でつなぐとisnetconn(fileno(stdin))がなぜか0になって そのため~/.bashrcを読んでくれない。 さらにlib/sh/netconn.cのisnetconn()を見ると getpeername(fd, &sa, &l)がOpenSSH-5.1p1の場合だけなぜかエラーになり、 そのせいでこの関数が0を返している。 これが原因だと判明したのだが、 どこを直せば良いのか思案中…
145 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/07/25(金) 16:03:25 ] isnetconn() 以前の問題として、 run_by_sshが偽になってるのがそもそもの間違いでは。 バージョンによっては、たまたま isnetconn() が真になってくれていたから 結果的にうまく動いていたように見えていただけで、 本来は run_by_ssh が真になるべきなのでは。
146 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/07/25(金) 16:12:20 ] 俺的には逆に .bashrcなど読まれると困るな。 5.1p1ではあえてbashを欺いて.bashrcを読ませないように修正を入れたんじゃないか?
147 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/07/25(金) 16:26:39 ] >>145 そうでもない。 SSH_SOURCE_BASHRCがdefineされていない限り run_by_sshは必ず0になるようになっている。 2.05aのあたりでこの挙動がデフォルトになるように変わったらしい。 …ということはSSH_SOURCE_BASHRCをdefineしてbashを作り直せば いいのかも知れんが、気分的にそれはちょっとしたくない。 sshdの方の修正で何とかならんかな… >>146 bashを欺くためだけにわざわざ変なことをするとは考えにくいな。
148 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/07/25(金) 16:33:13 ] getpeername()がエラーになる場合というと、 例えば、ネット直結じゃなくてpty経由になってるとかだけど、 だとすると ssh -T host command にすると解決したりしないか?
149 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/07/26(土) 02:30:09 ] そんな簡単な話でもないみたい >>148 ssh -T host command でも残念ながら動作は変わらなかった。 それで調査を進めたところどうも 5.1p1のsession.cの427行目にある #define USE_PIPES が悪さをしているっぽい。 これがあるために、直後のdo_exec_no_pty()で #ifdef USE_PIPESの方のコードが強制的に使われる。 #elseの方ではsocketpairを使っているので シェルへのstdinがネット経由になるが #ifdef USE_PIPESの方ではpipeを使っているので シェルへのstdinがネット経由にならない、 という事情のような気がする。 >>148 さんの書き込みがヒントになった。ありがとう。 427行目の #define USE_PIPES を取っ払ってコンパイルしたら 5.1p1でも ssh host command で ~/.bashrc を読むようになった。 これでいく。皆様、協力感謝します。 それにしてもなぜ #define USE_PIPES がこんなところにあるんだろう。 除去し忘れか何かか?
150 名前:149 mailto:sage [2008/07/26(土) 03:10:11 ] というわけで、一応自分なりにまとめといた [問題点] OpenSSH-5.1p1のsshdを動かしているシステムに対し、 bashをログインシェルとするユーザがリモートから ssh host command を実行した場合、~/.bashrcが読まれない。 OpenSSH-5.0p1までは~/.bashrcを読んでいた。 Linux, Solarisでこの現象を確認。 [解決法] session.cの427行目の#define USE_PIPESを 削除して再コンパイル。 [原因?] bashは、リモートからの実行だと判断すると~/.bashrcを 読む機能を備えるが、stdinに対するgetpeername()が失敗すると、 リモートからの実行だと判断せず、~/.bashrcを読まない。一方、 sshd側のsession.cに#define USE_PIPESがあると、後続の do_exec_no_pty()でsetsockpair()が使われないため、シェルへの stdinがネット直結にならない。このため、bashがstdinに対する getpeername()を実行したとき失敗するので、~/.bashrcが読まれ なくなる。
151 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/07/26(土) 08:18:45 ] 追求乙。開発者に通報してくらさい。>>150
152 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/07/26(土) 09:28:29 ] >>149 解決オメ、だけど、 *BSDでは、pipe()が実際にはsocketpair()を使って実装されていて、 pipe()に対するgetpeername()も成功する、んじゃなかったかな。 だから、*BSD上で開発してると問題が発覚しないので、bug fixもされないと。
153 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/08/27(水) 00:58:25 ] sshでログインする前に実行するコマンドを指定して、 そのコマンドを実行後にログインみたいな事って出来ますか? 下記のような事がやりたいです。 ssh user@example.com --hoge vi (example.comにログイン後、viを起動した状態に) ご存知でしたら教えてください。よろしくお願いします。
154 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/08/27(水) 07:03:19 ] >>153 ssh -t user@example.com vi
155 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/08/29(金) 16:47:48 ] パスワード認証も受け付けるSSHサーバをいちユーザとして使用しています。 いちユーザが認証方法をパスワードから鍵交換に変更した場合のセキュリティは、 1) 覗き見などによるパスワード流出、サーバなりすましが防げる点で向上 2) 総当たり・辞書攻撃に対しては変化なし 3) 1)の観点により、鍵交換認証にすべし という理解でよいでしょうか?
156 名前:名無し mailto:sage [2008/08/29(金) 19:04:14 ] 鍵の長さがまったく違う。 1024bit 以上の長さの鍵を使える点で、 16文字がせいぜいのパスワード認証の鍵の長さとは比較にならない。
157 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/08/29(金) 23:06:00 ] サーバがパスワード認証してるなら、総合的なセキュリティの強度は パスワード認証レベルになるんじゃない?
158 名前:155 mailto:sage [2008/08/30(土) 13:43:27 ] お返事ありがとうございました。 >>157 そうですよね?鍵認証のご利益は、2)の観点での主張が多いように見受けますが パスワード認証っていう「穴」があるなら、ご利益はフルに受けられないと感じた次第です。 >>156 言葉足らずですみません。私が感じているのは上記です。 普段いくら長い鍵で認証していても、短かい鍵での認証が許される以上、 セキュリティの強度は後者で決まっちゃうのかなと考えた次第です。
159 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/08/31(日) 17:48:56 ] パスワード認証でローカルのマシンにログインしたいのですが、 最初に鍵認証と勘違いして、必ず鍵のパスワードを聞いてきます。 man ssh でマニュアルを読み、ネットで調べてもなかったんですが、 いきなり、パスワード認証で入れるように指定するコマンドってありますか?
160 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/08/31(日) 18:12:17 ] あります。
161 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/08/31(日) 21:27:44 ] ありがとうございます。安心しました。
162 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/08/31(日) 21:38:48 ] サーバー側でパスワード認証を許可していても、 ユーザー側の設定($HOME/.sshとか)で、 パスワード認証を不許可にするような設定ってできますか? (ログイン元のクライアント側で不許可にするんじゃなくて、 サーバー側で不許可にする方法の質問です) (サーバーは管理者が別人で、自分にはroot権限が無い場合です)
163 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/09/01(月) 12:42:10 ] >>160 教えてもらえませんか?
164 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/09/01(月) 12:53:56 ] あるって教えてもらったじゃん。
165 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/09/01(月) 21:32:39 ] >>162 man ssh_config >>163 ssh -o で好きにしろ
166 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/09/01(月) 21:50:19 ] >>165 >man ssh_config ↑それはクライアント側でパスワード認証を禁止する方法ですね。 それは当然知ってます。 そうじゃなくて、サーバー側で禁止する方法を質問してるんです。
167 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/09/01(月) 22:12:06 ] >>166 man sshd_config
168 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/09/01(月) 22:22:21 ] >>167 man sshd_configでは、サーバーの /etc/ssh/sshd_config でしか設定できません。 元の質問のとおり、root権限の無いサーバーで、ユーザーサイドで sshd_config相当の設定をしたいわけです。 manを読む限りは $HOME/.ssh/sshd_config のようなものはありません。 で、どうやってやるのでしょうか? 答えてください。