トップページ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
0301299 NGNG
>>299
FreeBSDのportsからmake installしたのですが、ssh-keygen2 が無いようです。
ゲバラのツールで作ったもので試してみます。

ありがとうございました。
0302名無しさん@EmacsNGNG
PasswordAuthentication yes と設定してるのなら、
AllowUsers でログイン・アカウントを制限してるだろうな。

パスワードがバレバレなアカウントがあったら、クラックされるぞ!

> 173
超超カメレスだが、

sshd_config で
> 特定のアカウントのみ PasswordAuthentication no として扱う

のなら、PasswordAuthentication no と設定したsshd を、
別なポートで、もう一つ動かせばいい。

22番しか使えないsshクライエントって、まだあるのか?
0303名無しさん@XEmacsNGNG
>>301
> FreeBSDのportsからmake installしたのですが、ssh-keygen2 が無いようです。

ふーん、おかしいね。うちの FreeBSD 4.8-R では ports で問題な
く入れられたけど。

-bash-2.05b$ ssh-keygen2 -V
ssh-keygen2 version 3.2.5, compiled Dec 24 2003.
0304名無しさん@お腹いっぱい。NGNG
>>300
君はゲバラの話が出たから、『ちぇ』って書いてみたの??
チェ・ゲバラを知ってても面白くないぞ。
0305名無しさん@お腹いっぱい。NGNG
sftpでログインしてもサーバ側のlastログには残らないのですが、
残す方法ってありますか? /var/log/messagesには

sshd[28325]: subsystem request for sftp

こんなログしか残ってなくて、誰がログインしたかわかりません。
0306名無しさん@お腹いっぱい。NGNG
保守
0307名無しさん@お腹いっぱい。NGNG
保守の価値なし
0308名無しさん@お腹いっぱい。NGNG
>>305
LogLevel DEBUG
0309名無しさん@お腹いっぱい。NGNG
>>308
それだと他のメッセージがウザイ
0310名無しさん@お腹いっぱい。NGNG
お疲れさんです。
WINSCP 3.4.2
ー>Solaris8
コンソールでは、問題ないのですが、画面に表示できません。

ご教示ください、お願いします。
以下 ログです。

> ls -la ; echo "WinSCP: this is end-of-file:$status"
< 合計 22
< drwxr-x--- 3 user00 user00 512 1月 26日 13:07 .
< drwxr-xr-x 27 root root 1024 1月 25日 18:50 ..
< -rw------- 1 root other 15 1月 26日 13:40 .bash_history
< -rw-r--r-- 1 user00 user00 744 1月 25日 17:34 .cshrc
< -rw-r--r-- 1 user00 user00 2287 1月 25日 17:35 .profile
< drwxr-x--- 2 user00 user00 512 1月 26日 12:04 .ssh
< -rw-r--r-- 1 user00 user00 124 12月 29日 02:49 local.cshrc
< -rw-r--r-- 1 user00 user00 607 12月 29日 02:49 local.login
< -rw-r--r-- 1 user00 user00 582 12月 29日 02:49 local.profile
< WinSCP: this is end-of-file:0
* (ECommand) ディレクトリ '/export/home/user00' のリスト取得のエラー
* ディレクトリのリストに不正な行 '合計 22'
* 不正な権限の表記 '計 22'
0311名無しさん@お腹いっぱい。NGNG
>>310
お疲れさんです
0312名無しさん@お腹いっぱい。NGNG
今のところWinSCPでEUCファイル名を扱う方法はない?
sftpdのパッチは公開されてたけど、自分の管理下にないサーバでも使いたい
日本語ファイル名使うな、と言われればそれまでだけど
0313名無しさん@お腹いっぱい。NGNG
日本語ファイル名使うな
0314名無しさん@お腹いっぱい。NGNG
はい、それまで。
0315310NGNG
レスありがとうございます。

前に表示できていたのですが、たまたまですか?
ja_JP.PCKで
0316名無しさん@お腹いっぱい。NGNG
はい、それから〜
0317名無しさん@お腹いっぱい。NGNG
>>268
psftp を起動後 open host.name を入力すると思いますが、この host.name にIPアドレスや
FQDNを入力しているのではないでしょうか(勝手な想像ですが)。実は、この host.name には
PUTTY.EXE(またはPUTTYJP.EXE) の「保存されたセッション」の名称を入力するのが
正しいのです。
亀れすですみませんが、4時間ハマってやっと解決したうれしさでカキコしてしまいました。
0318名無しさん@お腹いっぱい。NGNG
>>312
WinSCPやめてFilezillaじゃダメ?
0319310NGNG
ログインシェルを/bin/shにしたら、表示できました。
>>318
トライしてみる。
ありがとう。
0320310NGNG
>>318
Filezila、ssh接続は、できないね。
残念。
0321310NGNG
>>318

ごめん。できるね。
0322名無しさん@お腹いっぱい。NGNG
FileZillaとsftpにeuc-jpパッチで幸せ(・∀・)イイ!!
0323名無しさん@お腹いっぱい。NGNG
>>305の類似だけど
winscpでのloginをlastlog に残す方法はあるの?
LogLevel 変えてもlastlog には書かれないし。
0324名無しさん@お腹いっぱい。NGNG
scp すると転送先でのファイルのパーミッションが 600 になるんですが、
どうすれば 644 とかに変更できるか誰か教えてくれませんか?
0325名無しさん@お腹いっぱい。NGNG
>>324
umask
0326名無しさん@お腹いっぱい。NGNG
1. 事前に公開鍵が置いていないところへは絶対に ssh で逝けないのか?
2. 初めて公開鍵を置きに逝くときに ssh で逝きたし
3. w3m に ssh を被せたし
4. mutt から ssh 使いたし //その場合の PGP との堅固性の比較も
0327名無しさん@お腹いっぱい。NGNG
> 1. 事前に公開鍵が置いていないところへは絶対に ssh で逝けないのか?
> 2. 初めて公開鍵を置きに逝くときに ssh で逝きたし

password認証やOTP認証を使え

> 3. w3m に ssh を被せたし
> 4. mutt から ssh 使いたし //その場合の PGP との堅固性の比較も

意味不明
0328sageNGNG
sftp-serverを見ると、ただwriteしているように見えますが、誰がどこで暗号化しているんでしょうか?
sshdがどこかで暗号化してるんでしょうか?それともsftp-server自身?
初級な質問ですみません。ご存知の方は教えてください。
0329名無しさん@お腹いっぱい。NGNG
>>328
だから、まず接続時に ssh の公開鍵認証を行うわけ。
その後クライアント側はランダムに共通鍵を作ってサーバに
それを送信するわけ。もちろんその共通鍵の受渡しには公開
鍵暗号を使うんだけどね。

んでその共通鍵で暗号化して通信してるのさ。

なんでずっと公開鍵暗号を使わないのか?っつー疑問がある
かも知れんが、それは共通鍵暗号/復号の方が軽いのさ。

では
0330名無しさん@お腹いっぱい。NGNG
いま、大学とバイト先の会社とで、まったく同じ問題を味わっています。

まず自宅からsshで大学なり会社なりのサーバにアクセスして、
そのサーバから内部でsshで目的のコンピュータにアクセスする経路をたどる必要があります。

これ自体はよいのですが、ローカルから目的のコンピュータにデータを送ろうとした場合、
やたら面倒になってしまうので困っています。
今はscpを2回行っているのですが、頻繁にファイルのやり取りをするので、
よくミスをしてしまい、能率的にも精神的にも効率が非常に悪いです。

よくある環境だと思うのですが、何か方法があるのでしょうか?
ググる際の簡単なキーワードだけでも結構ですので、ぜひ教えてください。
0331名無しさん@お腹いっぱい。NGNG
自宅にsshdを立てて、目的のコンピュータからscpする
0332名無しさん@お腹いっぱい。NGNG
多段
0333名無しさん@お腹いっぱい。NGNG
>>331
大学、会社とも、内から外にsshポートをあけていません
>>332
とりあえずぐぐってみます
0334名無しさん@お腹いっぱい。NGNG
stone (with SSH port forwarding) 使うとわりとすっきりいくかも
0335名無しさん@お腹いっぱい。NGNG
>>332
ちょっと見てみましたが、結局gatewayとなるサーバが
ポートを公開してくれないことには使えないみたいですね。

>>334
大学や会社の内部コンピュータにも、sshを使わないと入れないのですよ…
0336名無しさん@XEmacsNGNG
>>329
> その後クライアント側はランダムに共通鍵を作ってサーバに
> それを送信するわけ。もちろんその共通鍵の受渡しには公開
> 鍵暗号を使うんだけどね。

それは protocol v1.X での動作だから、v2 でしか動かせない
sftp-server に関する説明としては不適切かな。
0337名無しさん@お腹いっぱい。NGNG
>>335
ムリヤリ SSH だけで解決しようとしないで
管理者に相談すれ。
0338名無しさん@お腹いっぱい。NGNG
>>337
大学も会社も、なかなかに私の立場が低くて頼みづらいんですよね。
とりあえず、会社の方はsshを通してもらえるかもしれないので、
自宅のsshdと通信する方法でミスを減らそうと思います。
0339名無しさん@XEmacsNGNG
>>335
> >>332
> ちょっと見てみましたが、結局gatewayとなるサーバが
> ポートを公開してくれないことには使えないみたいですね。

って何を見てそういう結論に達したのか分からんけど、>>330 によ
れば

自宅PC → 相手GW
相手GW → 目的SV

それぞれの SSH 接続はできてるんだよな?

であれば、(たぶん) 前スレで既出だが、自宅PC → 相手GW の SSH
接続する際に目的SV の port 22 を自宅 PC の適当な port に
local forward してやりゃいいだけ。

>>338
> 大学も会社も、なかなかに私の立場が低くて頼みづらいんですよね。

相手NW のポリシー侵害することになる可能性もあるから、いずれに
しても勝手にはやらず、相手NW 管理者にきちんと確認はしとくべし。
0340名無しさん@お腹いっぱい。NGNG
公開鍵(e,n)を手に入れる。
nを因数分解して、素数p,qを手に入れる。
{g,{d,k}} = ExtendedGCD[e,(p-1)(q-1)]となるようなdを見つける。
g=k=1である。d<0 なら d+(p-1)(q-1)とする(不定性のため)。
秘密鍵(d,n)を手に入れることができた。
アスキーコードになっている文字列Sに対し、
Mod[S^d,n]とし、暗号を解除、あとはそのアスキーコードを
FromCharacterCode["S"]で英字に直し、目的の文章を手に入れる。
0341名無しさん@お腹いっぱい。NGNG
素数判定は「決定的」多項式時間で可能
ttp://science2.2ch.net/test/read.cgi/math/1028813059/
0342名無しさん@お腹いっぱい。NGNG
一応並みの数学屋として、「そーいうレベルでのアレ」だとは
ゆっとく。業績としてはたしかなものだけんどね
0343名無しさん@お腹いっぱい。NGNG
>>336
v2はどーゆー動きなの?
0344名無しさん@お腹いっぱい。NGNG
>>310 ログインシェルはcsh系?
だとしたらまずWinSCPの設定でシェルを /bin/sh に変更。bashでもいいけど。
Clear national variables(日本語版だとどう訳されてるんだろ)という項目がある
はずだからそれにチェックを入れる。それで英語の出力が出るはず。
0345名無しさん@XEmacsNGNG
>>343
> v2はどーゆー動きなの?

v2 では共通鍵交換方式も server/client 間で交渉可能となってる
けど、現状使われている事実上唯一のアルゴリズムは D&H であり、
server 認証は S/C 双方の一時 D&H parameter その他のデータに対
して server が施したデジタル署名を client が検証することで実
現されてる。
0346名無しさん@お腹いっぱい。NGNG
何言ってるかわからないんですが、、、
0347名無しさん@お腹いっぱい。NGNG
>>346
とりあえずInternet Draftを嫁。
http://www.ietf.org/html.charters/secsh-charter.html

"SSH Protocol Architecture"と"SSH Transport Layer Protocol"を読めば、
とりあえずサーバ<=>クライアント間の暗号化通信路を確立するところまでは
わかるはず。
0348名無しさん@お腹いっぱい。NGNG
PuTTY 0.54 age
0349名無しさん@お腹いっぱい。NGNG
PuTTYごときでageるなよ
0350名無しさん@お腹いっぱい。NGNG
ご存知の方がいらしたら、教えてください。
Port Forward する際に、クライアント側の .ssh/config で
「LocalForward 80 hogehost:80」 みたいに書けるわけですが、
"hogehost" をlocalhost に限定するような制約って
サーバ側(sshd_config 等)で可能なんでしょうか。
0351名無しさん@お腹いっぱい。NGNG
>>350
別のプロセスで Proxy したら同じことだからそんな機能意味ないでしょ。
0352名無しさん@お腹いっぱい。NGNG
>>351
えーと、ユーザのログインシェルは /bin/false 等に設定して殺してあります。
要するに、勝手に外部(sshd 起動ホスト以外)の SMTP とかに port forward
されたくないんです。
やっぱり、iptable とかでフィルタリングするしかないんでしょうか。。。
0353名無しさん@お腹いっぱい。NGNG
ログインは許可しないのにローカルにだけフォワードする
のはいいの??
それって結局フォワード先も特定のポートしか無いんだ
ろうから SSL 使えば良いんじゃないでしょうか。
0354350NGNG
>>353
そうです。
ログインは許可せずに、特定のアプリケーションだけ SSH による鍵認証により
接続して使わせたいのです。
0355名無しさん@お腹いっぱい。NGNG
>>350
permitopen="host:port"
0356350NGNG
>>355
ありがとうございます。おかげでやりたかったことが実現できました。

sshd_config ではなく authorized_keys で、それぞれの公開鍵ごとに制御可能なのですね。
というわけで、$HOME/.ssh/authorized_keys でユーザごとに管理させるのを止めて
管理者側で一元管理するようにしました。
0357sageNGNG
OpenSSHのssdで、暗号化する前の通信データ(送信)と、複合化後の受信データ、つまり暗号化されていないそれぞれの情報の内容が見たいのですが、どこで取得できるかわかりません〜。
printfかファイル出力で取得しようかと思いますが、どこに仕掛けたらよいか・・・
誰かお助け(教えて)ください〜。お願いします。
0358名無しさん@お腹いっぱい。NGNG
Cygwinスレに出てるcocotの真似すればよい
0359名無しさん@XEmacsNGNG
>>357
> OpenSSHのssdで、暗号化する前の通信データ(送信)と、複合化後の受信データ、
> printfかファイル出力で取得しようかと思いますが、どこに仕掛けたらよいか・・・

実際の暗号化/復号処理を行なってるのは packet.c。

こいつを -DPACKET_DEBUG 付きで compile すると ssh/sshd が処理
前後の内容を標準エラーに吐き出すようになるので (たぶん)、その
辺参考にしててきとーにいじくってみれば?
0360357NGNG
>>358
>>359
初心者の私の質問に親切にお答えいただいてありがとうございます。
非常に参考になりました。
さっそく試してみようと思います。
0361名無しさん@お腹いっぱい。NGNG
OpenSSH 3.8 release age
0362A5501TNGNG
キタ━(°∀°)━!!
0363名無しさん@お腹いっぱい。NGNG
幾つか設定項目変わってるねぇ

diff -u openssh-3.7p1/sshd_config openssh-3.8p1/sshd_config ってみるテスト
+#KerberosGetAFSToken no

-#GSSAPICleanupCreds yes
+#GSSAPICleanupCredentials yes

-# bypass the setting of 'PasswordAuthentication'
-#UsePAM yes
+# bypass the setting of 'PasswordAuthentication' and 'PermitEmptyPasswords'
+#UsePAM no

-#KeepAlive yes
+#TCPKeepAlive yes
0364名無しさん@お腹いっぱい。NGNG
PAM がデフォルトでNOになったのね。
0365名無しさん@お腹いっぱい。NGNG
テラターム!
0366名無しさん@お腹いっぱい。NGNG
初心者なのにunixサーバ管理者に任命されて、sshdをインストールしたはいいのですが、telnetを止めろと言われました。
でもsshdが動いていれば、telnetdは殺してもいいものなのでしょうか?それとも、他の方法でアクセスできないようにするのでしょうか。
不安でなかなか実行できません。
私の理解では、sshでログインするのは暗号化されているが、telnetと同じというイメージなのですが・・・
教えてください。
0367名無しさん@お腹いっぱい。NGNG
>>366
ssh は rsh をセキュアにしたものであって telnet とは無関係。
0368名無しさん@お腹いっぱい。NGNG
telnet は即効で止めましょう。
「telnet で繋がらないやん」と言われたら、「SSHしか駄目です」と言いましょう。
それ以外には困ることはありません。

これでサーバー管理者の第一歩を歩みだせましたね。
0369名無しさん@お腹いっぱい。NGNG
> telnetと同じイメージ
イメージで処理せず、疑問に思ったことは可能な限り自分で調べてみましょう。
ssh の通信が暗号化されるかどうかは、パケットキャプチャしてみれば確認できます。
それでも気になるなら、ソースコードまでたどるという手もあります。

イメージだけで管理を始めるとトンデモ管理者への第一歩を歩んだことになります。
今ならまだ間に合います。
0370名無しさん@お腹いっぱい。NGNG
>>369 はBSD厨ですんで放置で。。。
0371名無しさん@お腹いっぱい。NGNG
>>369 は全然回答になってないしな。
0372名無しさん@お腹いっぱい。NGNG
(・∀・)ジサクジエンデシタ
0373名無しさん@お腹いっぱい。NGNG
>>369を要約してみました。







ぐぐれ。
0374名無しさん@お腹いっぱい。NGNG
>>373
0点。
0375名無しさん@お腹いっぱい。NGNG
366で書いた者です。
皆さんのお話、とても参考になりました。
どうもありがとうございます。わかると面白いので今後もさらに勉強します。
0376名無しさん@お腹いっぱい。NGNG
login shell が始めから ssh 通っているのってどうやっているのですか?
0377名無しさん@お腹いっぱい。NGNG
>>376
どういう意味?
0378名無しさん@お腹いっぱい。NGNG
>>377
例えば↓な感じの

|-sshd---sshd---bash---pstree

ttp://pc.2ch.net/test/read.cgi/linux/1015251437/2
ttp://pc.2ch.net/test/read.cgi/linux/1015251437/4
ttp://pc.2ch.net/test/read.cgi/linux/1015251437/10
0379名無しさん@お腹いっぱい。NGNG
>>378
単に ssh でログインして pstree 打っただけでは。
0380名無しさん@お腹いっぱい。NGNG
一つの接続に対して sshd のプロセスが二つ立ち上がる
理由ってなんだったっけな。

>>376 が思い描いていそうなのは
ssh host1 -t ssh host2
みたいなことか
0381名無しさん@お腹いっぱい。NGNG
>>380
つか、一つの接続には sshd ひとつしか立ち上がってないでしょ。
一個目の sshd は親玉 daemon 。
↓これ見てみ。
http://pc.2ch.net/test/read.cgi/linux/1015251437/9
0382名無しさん@お腹いっぱい。NGNG
>>380
UsePrivilegeSeparation yes でsshdが2つ動く
0383名無しさん@お腹いっぱい。NGNG
>>381
うぉ、そうだった。thx
0384名無しさん@お腹いっぱい。NGNG
うp方向のsshってある?
その逆はscpだけど。
0385名無しさん@お腹いっぱい。NGNG
まあ落ち着いてscpのmanでも読め。
0386名無しさん@お腹いっぱい。NGNG
まあ、落ち着いて cp の man でも読めや。
0387名無しさん@お腹いっぱい。NGNG
ついでにsftpのmanも読め
0388名無しさん@お腹いっぱい。NGNG
えーと、

rsh  ---> ssh
rlogin ---> ssh
telnet ---> ssh
ftp  ---> sftp
rcp  ---> scp
rcp  ---> rsync

で良いでしょうか?
0389名無しさん@お腹いっぱい。NGNG
rsync ---> rsync -e ssh
0390名無しさん@お腹いっぱい。NGNG
ふつう RSYNC_RSH=ssh; export RSYNC_RSH してるだろ。
0391名無しさん@お腹いっぱい。NGNG
ふつうって何さ
0392名無しさん@お腹いっぱい。NGNG
友達の少ないしとをいぢめちゃだめですよ
0393名無しさん@お腹いっぱい。NGNG
rsync 2.6.0だとsshがデフォルトになってるはずさ。
0394名無しさん@お腹いっぱい。NGNG
-e "ssh -l ユーザー"だったりするくらRSYNC_RSHは使えないなぁ
0395名無しさん@お腹いっぱい。NGNG
ふつう user@host:/path/to/dir するだろ。
0396名無しさん@お腹いっぱい。NGNG
rsync -z と rsync -e 'ssh -C' はどっちが効率いいんざましょ。
0397名無しさん@お腹いっぱい。NGNG
>>395
なんかそれだと/home/ユーザー/.sshの中の鍵を見つけてくれないんだよね
なんでだろ?
0398名無しさん@お腹いっぱい。NGNG
>>394
.ssh/config に User 指定しとけば host:/path/to/dir でいける
0399名無しさん@お腹いっぱい。NGNG
>>396
http://www.mail-archive.com/rsync@lists.samba.org/msg08406.html
0400名無しさん@お腹いっぱい。NGNG
>>400ゲトー
http://www63.tok2.com/home2/tokumeizatudan/2ch/2ch.swf
↑UNIX板、2ちゃんに関するフラッシュ
0401名無しさん@お腹いっぱい。NGNG
リモートにアクセスした後にそこのルートディレクトリ(/)以下全部を、ローカル(hoge.jp)のbokeユーザのホームディレクトリにコピーしたい時、
#scp -r /* boke@hoge.jp
でよろしいでしょうか?
■ このスレッドは過去ログ倉庫に格納されています