▼スレッド
│
└◇3078:Re[8]:sftpのヒストリ機能が出来ない [sftp必需品] 11/28 21:14
└◇3097:Re[9]:sftpのヒストリ機能が出来ない [nil] 12/27
└◇3102:Re[10]:sftpのヒストリ機能が出来ない [sftp必需] 01/05 <
上の回答に追加しておきます。opensshをインストールスレッド一覧
する時に
ssh_host_dsa_key
ssh_host_key
などが存在しませんと文句を言われるかもしれません
(3031:Re[5]で困っていたことです)。この時自分の
場合はssh_host_keyなどの所有者、属性などを変えたら
うまくいきました。上のようなファイルがsystemの所有
になっていたのです。そこでchownというコマンドを使い自身の所有ファイ
ルに変えたらうまくいきました。参考にしてみてください。
>うまくいきました。上のようなファイルがsystemの所有スレッド一覧
>になっていたのです。そこでchownというコマンドを使い自身の所有ファイ
>ルに変えたらうまくいきました。参考にしてみてください。
ええと、当然ながら、理由(必要性)があってそういうアクセス権(owner,mode,etc)が設定されているので、運用の為にはきちんともとに戻すか、SSHの設定作業をやり直しましょう。(場合によってはsshdなどが正常に起動しないなどの問題もおきます)
こういった、よくわからないけれど……状態は怖いので
OpenSSH 本体は素直に Cygwinパッケージのものを使い、sftpだけ libedit を static linkでコンパイルしたものを使う、という方針のほうが妥当だと思います。
その際、configureオプションは Cygwinソースのものを参考にして、libedit は libedit.aだけを残して(libedit.la など dynamic/shared link 関係のものを削除。どうせ半端なので)から sftp(openssh)をコンパイルすればよいです。
(この場合prefix=/usr/localじゃなくても sftpは好きな場所(/usr/loca/bin ?)に置けます)
(私はこの方針だったので LIBRARY_PATH 等ではまったく悩んでいない)
アドバイスありがとうございます。早速上記のスレッド一覧
ようにやってみました。
opensshをmakeしてcygwinsetupでインストールした
sftp.exeだけを上書きして取り替えるのですか・・
(上記はそうゆうことですよね?)。素人目には
かなりアクロバテックなように感じましたが、たとえ
相互に関係しているプログラムでも設定ファイルを
そのままにして正常に動くなら、たしかにそれでいいで
すわな・・。どう考えてもセキュリティー上は教え
てもらった方法のほうがいいと思いましたのでやらせて
もらいました。sftp-server.exeも書き換えました。
ダイナミックリンクが悪かったのですか・・・。たしかに
libeditを/usr/libにインストールしてlibedit.aだけを残し
てコンパイルしなおしたらうまくいきました。でもディレ
クトリ
openssh-4.2p1
を消去して
openssh-4.2p1.tar.gz
を展開しなおさないとうまくいかなかったことにはへこたれ
ました。今の所動いています。ちなみに現在/usr/local/lib
は空です。ありがとうございました。