1
jyhmijack 2013-10-14 10:22:21 +08:00
我们就是这样子的。。验证码发邮件和短信。。不过不知道sa是怎么做到的
|
2
zhujinliang 2013-10-14 10:27:47 +08:00
把用户的shell改成验证程序?ssh连入后,先进验证程序,验证后由验证程序启动bash。
不知可行不 |
4
kennedy32 2013-10-14 10:32:47 +08:00
google了一下 http://ben.akrin.com/?p=1068
2-factor authentication & writing PAM modules for Ubuntu |
8
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发到所对应的 [email protected] ,让用户输入 [email protected] 里面的code,才完成验证。 后台程序每隔一定时间从数据库里面取出ip,用iptables添加该ip到ssh允许的端口。 后台程序每隔一小时再将这个ip从iptables中去除掉 |
9
gihnius 2013-10-14 11:22:55 +08:00
有钱的话直接上 token,(网银用的那种 token)
|
10
ETiV 2013-10-14 11:28:34 +08:00 via iPhone
phonegap 写一个手机端的令牌App
然后服务器上也部署一个算号、验证逻辑 SSH登录执行个脚本,让输入用户名跟令牌 如果不对了,就kill掉脚本的父进程(bash) |
11
lixm 2013-10-14 11:54:43 +08:00
用pam模块,但是发邮件太慢了吧,等到收到邮件,token都过期了,用Google Authenticator就可以了,现在智能机那么普及了
|
12
halfbloodrock 2013-10-14 12:17:48 +08:00
可能理解的不太对,你两次验证的目的是证明登录人是合法的?
如果这样的话,用kerberos。 |
13
toctan 2013-10-14 13:08:22 +08:00
|
14
sobigfish 2013-10-14 16:18:36 +08:00
改造libpam-google-authenticator ?
https://code.google.com/p/google-authenticator/source/browse/#git%2Flibpam |
15
cloudzhou 2013-10-14 18:50:03 +08:00
对 openssh 做 patch,我做过了,为的是 git 认证,难度不大的
|
16
solos 2013-10-14 21:22:59 +08:00
|