SFTPを使用するときに「最後のログイン:」メッセージを防ぐにはどうすればよいですか?

SFTPを使用するときに「最後のログイン:」メッセージを防ぐにはどうすればよいですか?

Ubuntu GNU / Linux 12.04には、次のコマンドを使用して刑務所に設定されたjohndoeグループに属するユーザーがいます。sftponlysftpchroot

Subsystem sftp internal-sftp

Match Group sftponly
        ChrootDirectory %h
        ForceCommand internal-sftp
        AllowTcpForwarding no

最後に/etc/ssh/ssh_config...(で説明したように)ユーザーディレクトリhomeのすべてのコンポーネントは、root他のユーザーやグループが書き込めない所有ディレクトリです。彼の刑務所には書き込み可能なディレクトリがあります。man sshd_configChrootDirectorychrootfiles

sudo groupadd sftponly    
sudo mkdir -p /home/sftponly/johndoe/files
sudo useradd -d /home/sftponly/johndoe -g sftponly -s /usr/sbin/nologin johndoe
sudo chmod go-w /home/sftponly/{,johndoe}
sudo chown johndoe:sftponly /home/sftponly/johndoe/files
sudo chmod ug+rwX /home/sftponly/johndoe/files

(シェルを両方に設定すると/bin/false効果はありません。シェルが接続されると、「MOTD」と表示されてから切断されます。これは予想される動作です。)sshsftpnologinssh

ただし、sftpメッセージは失敗しますReceived message too long 1416128883。この失敗は、sftp「クリーンログイン」に予想される「MOTD」(今日のメッセージ)が原因であることがわかります。次のコマンドを使用して、サーバーのすべての「MOTD」部分を無効にしようとしました(この結果):

  • PrintLastLog noPrintMotd no最後にとを追加し/etc/ssh/ssh_configsshrestartを使用してくださいrestart ssh。 (効果なし。テストにはssh「MOTD」と「最後のログイン:」が表示されます。 )

  • session optional pam_motd.soコメントをつけてください/etc/pam.d/sshd。 (MOTD防止。ただし、「LastLog」には対応する項目がないため、ssh「Last Login:」でテストしても表示されます。sftpまだ失敗しました.)

  • コメントアウトsession optional pam_lastlog.soしてsession optional pam_motd.soコメントアウトします/etc/pam.d/login。 (効果なし。テストの結果、sshMOTDと「最後のログイン:」が表示されました。 )

  • .hushlogin.を使用してクライアントにファイルを作成しますtouch ~/.hushlogin。 (効果なし.)

アイデアが足りません。この「最後のログイン:」メッセージはどこから来て、どのように無効にできますか? (理想的にはログインにのみ使用sftpし、sshログインには使用しませんが、sftp目的に応じてsshメッセージが同時に表示されるか、またはそうではありません)?

答え1

上記のような不合理な行動が発生した理由は、私のタイプミスによるものでした。編集するのは/etc/ssh/sshd_config(クライアント用)ではなく(デーモン用)です。他の人に役立つようにここに質問を残します。ssh/etc/ssh/ssh_configssh

答え2

私のシステムでは、Pamからインポートされます。

/etc/pam.d/postlogin正確に。

既存の行をコメントアウトし、次を追加してメッセージを削除しました。

session     optional      pam_lastlog.so silent

答え3

私が使用しているスクリプトから/ etc / motdをフィルタリングするために(この例はgitプログラム用です)
git pull 2>&1 | grep -vF -f ~/bin/remote.motd | egrep -v "^$|^ $"
〜/ bin / remote.motdファイルは、リモートシステムによって提供されたmotdのコピー貼り付けです。

答え4

/var/log/lastlogを削除しましたが、「最後のログイン」メッセージが永遠に消えました。テストしたすべてのディストリビューション(UbuntuとSUSE)で動作します。

私はどうやってこのアイデアを思いついたのですか?

どのログイン
文字列/bin/login最後|

関連情報