求ssh两步验证方案

2013-10-14 10:20:36 +08:00
 lfzyx
在网上搜了下都是利用Google Authenticator实现ssh两步验证,但我想把验证方式改为email接收验证码,有没有实现该功能的可行方法?
4706 次点击
所在节点    程序员
16 条回复
jyhmijack
2013-10-14 10:22:21 +08:00
我们就是这样子的。。验证码发邮件和短信。。不过不知道sa是怎么做到的
zhujinliang
2013-10-14 10:27:47 +08:00
把用户的shell改成验证程序?ssh连入后,先进验证程序,验证后由验证程序启动bash。
不知可行不
lfzyx
2013-10-14 10:29:00 +08:00
@jyhmijack 我在网上居然搜不到类似的方案,难道是各家心照不宣的黑技术?。。
kennedy32
2013-10-14 10:32:47 +08:00
google了一下 http://ben.akrin.com/?p=1068
2-factor authentication & writing PAM modules for Ubuntu
jyhmijack
2013-10-14 10:34:26 +08:00
@lfzyx 觉得应该不是什么很难实现的东西吧。。。应该很好做。。。
lfzyx
2013-10-14 10:35:43 +08:00
@kennedy32 哈哈,我也是找到了这个
kennedy32
2013-10-14 10:36:46 +08:00
@lfzyx 这个不就是email方案么?应该还可以实现sms方案
megaforce
2013-10-14 10:50:18 +08:00
我是这样做的:
机器上只开放9019端口(用iptables做)
启动nginx服务,监听9019端口。先经过http auth。
server {
listen 9010 default;
return 401;
}
server {
listen 9010;
server_name myentry.xxx.xxx.cn;
access_log /logs/access.log;
error_log /logs/error.log;
root /webdir;
location / {
auth_basic "Restricted";
auth_basic_user_file /tmp/aaa;
}

}

再到一个php界面,再做一次密码认证,成功后将用户的ip写到一个数据库。
这里可以再用php做一个邮箱账号的认证,比如用户输入了xxx,php将一个code发到所对应的 yyy@qq.com ,让用户输入 yyy@qq.com 里面的code,才完成验证。



后台程序每隔一定时间从数据库里面取出ip,用iptables添加该ip到ssh允许的端口。

后台程序每隔一小时再将这个ip从iptables中去除掉
gihnius
2013-10-14 11:22:55 +08:00
有钱的话直接上 token,(网银用的那种 token)
ETiV
2013-10-14 11:28:34 +08:00
phonegap 写一个手机端的令牌App

然后服务器上也部署一个算号、验证逻辑

SSH登录执行个脚本,让输入用户名跟令牌

如果不对了,就kill掉脚本的父进程(bash)
lixm
2013-10-14 11:54:43 +08:00
用pam模块,但是发邮件太慢了吧,等到收到邮件,token都过期了,用Google Authenticator就可以了,现在智能机那么普及了
halfbloodrock
2013-10-14 12:17:48 +08:00
可能理解的不太对,你两次验证的目的是证明登录人是合法的?

如果这样的话,用kerberos。
toctan
2013-10-14 13:08:22 +08:00
sobigfish
2013-10-14 16:18:36 +08:00
cloudzhou
2013-10-14 18:50:03 +08:00
对 openssh 做 patch,我做过了,为的是 git 认证,难度不大的
solos
2013-10-14 21:22:59 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/85508

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX