如何在Linux上用一次性密码确保SSH登录安全

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Linux上用一次性密码确保SSH登录安全相关的知识,希望对你有一定的参考价值。

第一步:在Linux上安装和配置OTPW
在Debian、Ubuntu或Linux Mint上:
用apt-get安装OTPW程序包。
$ sudo apt-get install libpam-otpw otpw-bin

使用文本编辑工具,打开SSH的PAM配置文件(/etc/pam.d/sshd),注释掉下面这行代码(以禁用密码验证)。
#@include common-auth

然后添加下面两行代码(以启用一次性密码验证):
auth required pam_otpw.so
session optional pam_otpw.so

在Fedora或CentOS/RHEL上:
在基于红帽的系统上,没有作为预制程序包的OTPW。于是,我们通过从源代码来构建的方法,安装OTPW。
首先,安装基本组件:
$ sudo yum git gcc pam-devel
$ git clone https://www.cl.cam.ac.uk/~mgk25/git/otpw
$ cd otpw

使用文本编辑工具打开Makefile,编辑以“PAMLIB=”开头的这一行,如下所示。
在64位系统上:
PAMLIB=/usr/lib64/security

在32位系统上:
PAMLIB=/usr/lib/security

编译后安装。请注意:安装环节会自动重启SSH服务器。所以如果你使用SSH连接,就要准备好断开。
$ make
$ sudo make install

现在你需要更新SELinux策略,因为/usr/sbin/sshd试图写入到用户的主目录,而默认的SELinux策略不允许这个操作。下面这些命令可以起到更新策略的作用。如果你不使用SELinux,跳过这一步好了。
$ sudo grep sshd /var/log/audit/audit.log | audit2allow -M mypol
$ sudo semodule -i mypol.pp

下一步,用文本编辑工具打开SSH的PAM配置文件(/etc/pam.d/sshd),注释掉下面这行代码(以禁用密码验证)。
#auth substack password-auth

然后添加下面两行代码(以启用一次性密码验证):
auth required pam_otpw.so
session optional pam_otpw.so
参考技术A 做SSH无秘钥登陆即可!

以上是关于如何在Linux上用一次性密码确保SSH登录安全的主要内容,如果未能解决你的问题,请参考以下文章

windows 上用xshell使用 ssh自动登录linux

Linux中实现Hadoop各节点间的SSH免密登录

Windows和Linux下实现ssh免密登录

linux下怎样设置ssh无密码登录

Linux ssh安全设置,及免密码登录

Linux 中提高的 SSH 的安全性