我创建了一个脚本/etc/update-motd.d/foo
#!/bin/sh
echo aaa
exit 0
我希望在 ssh 登录时执行此脚本,并显示输出。
我的 中有以下几行/etc/pam.d/sshd
:
session optional pam_motd.so motd=/run/motd.dynamic
session optional pam_motd.so noupdate
我期望应该在 ssh 登录时执行该脚本。
但这不起作用,ssh 登录时没有打印任何内容。该脚本由 root 拥有,拥有 755 权限。
我还需要做什么?
我使用的是 Debian 10。
答案1
如果您希望能够使用 Linux PAM 模块,则应取消注释file 中存在的ssh
行(如果该行不存在则添加它)。#UsePAM
/etc/ssh/sshd_config
要编辑此类文件,我建议您使用:
sudo -e /etc/ssh/sshd_config
where-e
用于以root权限编辑文件。
使用的编辑器-e
由环境变量决定EDITOR
,因此您可以将其设置EDITOR=nvim
为例如,如果您想使用 neovim 而不是默认编辑器(即 nano,AFAIK)
答案2
您需要启用文件的可执行位。
chmod +x path/to/your/file