SSHで接続できない

イメージ
 Ubuntuを24.04→26.04 時間があったので、メインマシンのUpgradeを実施。 とはいえ、とはいえ、システムディスク(/)とデータディスク(/home)を分けているのでクリーンなインストールを実施。 (1) USBでUbuntu26.04を起動 (2) /home/user → /home/user_old にリネーム (3) 26.04をインストール これで、/home/user_oldにこれまでの環境が残ったまま、新規userでインストールすれば完了。もともとのuserが使用していたuser_id:1000のままなので、どちらのフォルダも見ることができる。 あとは、使用するソフトをインストールし  /home/user_old 以下から、利用する設定ファイル等をコピーして動作確認するだけ。 Dropbox MEGA などは、先にコピーしてから、フォルダ同期設定をすることで、ダウンロードなどはチェックのみで完了する。 thunderbird brave browser vscode dbeaver-ce typora obsidian LMStudio ollama あたりを移行してほぼ終了 .sshはそのままコピーして完了。 と思っていたら、何故かサーバによっては接続できない場合があることに気づいた。 $ ssh vps 何も返ってこず、接続できない。 でこれまで接続できていたのに、うまく行かない?? 詳細を確認しながら、チェックすることに。 $ ssh -vv vps debug1: OpenSSH_10.2p1 Ubuntu-2ubuntu3.5, OpenSSL 3.5.5 27 Jan 2026 debug1: Reading configuration data /home/user/.ssh/config ︙ debug2: we sent a publickey packet, wait for reply debug1: Server accepts key: /home/user/.ssh/id_rsa RSA SHA256:n5ocPbCvMV4FGFof … … … … … pBuJ/8r/kHGANY explicit agent のように、 認証完了後にシェルが起動せず、応答がない状態になっている。 具体的には ...

vsftpd の動作がおかしい

ftpで接続できない

vps上の設定を行っていていよいよ最終段階に。
webコンテンツをUPしようと、ftpサーバを立てる。
$ sudo apt-get install vsftpd
まあ、これだけの話だ。

でもって、気持よくFileZillaで接続しようとするも接続できない???
500 OOPS: vsftpd: refusing to run with writable root inside chroot ()
と文句を言ってくる。
おや、前に違う環境で立てた時は、こんなことはなかった。

まあ、今回はvirtual hostをいくつも切るために、アカウントごとにchrootしているので、これまでとは状況が違うといえば違うのだけれど…。
今回利用しているのは、vsftpd 2.3.5だ。

ググってみっるとこんなタイトルの情報が…
Fixing 500 OOPS: vsftpd: refusing to run with writable root inside chroot ()」はいはい。まんまじゃないですか…。

バグでも潜んでいるんかと、読んでみる。
対策として、
chmod a-w /home/user
しろとな。これで試すと、問題なく接続できる。
いやぁ、しかし書き込み権限をなくせばOKと言われましても、これじゃUploadできないわけで…。

試しに、Uploadしてみるが、書き込みできないと言われる。
そりゃ、当たり前だ。

もしくは、次の2つの方法があるらしい。
vsftpdなら
allow_writeable_chroot=YES
vsftpd-extなら
allow_writable_chroot=YES
にしろと。(どうして記述の方法を変えたのか…)

vsftpd-extってなんじゃい?と思いつつ、とりあえず上の方法で試すも撃沈。

他の情報を探してみる

どうやらvsftpd2.3.5になった時に、セキュリティ強化のために導入されたらしい。

じゃ、2.3.4で行けばと思ったら、脆弱性が見つかっているので、止めた方がいいらしい。
手詰まりか?と思ったら、
方法は3つ。

  1. Extended vsftpd(さっきのvsftpd extがこれだった)を利用しろ
  2. vsftpdの3.x.x系を使え
  3. vsftpd 2.3.5改?(3系列backport)を使え
ということらしい。
1.は、本家vsftpdからダウンロード可能だが、tar.gz形式で、自分でbuildする必要がある。
2.はExtended vsFTPd buildsからダウンロード可能だが、こいつもsourceからbuildする必要がある。

最初はbuildしかけたのだけれど、折角ubuntuで構築しているのに、Package管理できないのは勿体ない。
今後、アップデートが出ても、確認が面倒になる。
そこで、ようやく見つけたのが3.だった。


お手軽にできた

詳細は、vsftpd: refusing to run with writable root inside chrootにあるので、確認してもらうとして…。

手順は以下の通り
  1. login as root (or sudo..) and do the following:
  2. apt-get install python-software-properties
  3. sudo add-apt-repository ppa:thefrontiergroup/vsftpd
  4. sudo apt-get update
  5. sudo apt-get install vsftpd
  6. vi /etc/vsftpd.conf and add the following allow_writeable_chroot=YES
  7. sudo service vsftpd restart
要はppaをリポジトリに追加して、そこにあるvsftpdを入れろと。
すると、2.3.5-1ubuntu2ppa1が入るので、confに上記を追記してやればOKとな。

ここに辿り着くまでに、少々苦戦しましたゎ。

おかげで、無事にUploadできるようになりましたとさ。

コメント

このブログの人気の投稿

MEGAにも弱点があった?

Ubuntu24.04 でGUIが死んだ

VirtualBoxでUSBを使う方法が分かった!