linux一次性密码登录,Linux一次性密码登录OTPW安装说明

#tarxfotpw-1.3.tar.gz

#cdotpw

#sed-i's/^CFLAGS.*/&-fPIC/'Makefile

#make

#cppam_otpw.so/lib64/security/

好, 文件都生成好了. 居然没有自动安装, 无所谓拉, 手动.

cp pam_otpw.so /lib/security

cp otpw-gen /usr/bin

ok, 基本装好了

配一下pam.d在认证sshd的时候使用这个so

vi /etc/pam.d/sshd

auth required pam_otpw.so

auth required pam_stack.so service=system-auth

auth required pam_nologin.so

account required pam_stack.so service=system-auth

password required pam_stack.so service=system-auth

session optional pam_otpw.so

session required pam_stack.so service=system-auth

session required pam_loginuid.so

把红色的部分加上.

然后修改一下 sshd的配置

vi /etc/ssh/sshd_config

#修改 ChallengeResponseAuthentication为yes

ChallengeResponseAuthentication yes

#在UsePAM yes下添一行

UsePrivilegeSeparation no

#注意, 要认证两次的话就UsePrivilegeSeparatio yes,等于otpw认证一次,系统再认一次(太麻烦了)

重启sshd, kill -HUP sshd

su - user1

otpw-gen

输入一个起始字串: 831Td, 重新输入, 系统会列出一张表

OTPW list generated 2008-07-07 16:52 on localhost.localdomain

000 yq8B Ch4s 056 dqKJ MjLq 112 NZiN yVju 168 6rcE mPOd 224 d7p% yohW

001 CJnS JdBp 057 /EYB +Pib 113 RGiz q+At 169 zSg+ aZt/ 225 qBF6 =5+o

002 ALpP tnWy 058 EjFp iasq 114 Khov 2%we 170 hug= L3It 226 Upg: Bkov

003 KF+e 37:p 059 uhW/ kEJH 115 M6n9 NM2L 171 Xc/2 UYnV 227 Q3RU iygY

004 B2Hi 5N%Z 060 T6m4 uP:7 116 D8nC :j9H 172 At8u ZBum 228 o2fW +hu/

005 EpzL pHt5 061 2jjY fcdh 117 vF9I O+U5 173 iXqC hM:E 229 Rwb4 hWza

006 g4mq 9z7e 062 EvKf eTK+ 118 =zC= vACK 174 MynV sQ8K 230 :P2X nuqt

007 d2:d Dodb 063 ISgN By2B 119 r+wk yek5 175 gRib 4kLj 231 hag/ P4St

008 EY%c 8OwS 064 acpA bxUQ 120 PzoJ Ky4J 176 fN8d 2=Xu 232 pc5h 9tEW

009 smNf xhkz 065 c8DY p7iI 121 pjEQ zaRN 177 k4A6 FXUE 233 nter 2PNp

010 H265 KDB3 066 R:ux 4H/W 122 +SRO +qYA 178 aybq jwGz 234 cjo4 Qp4d

011 98JT D7BJ 067 Z96O C:Cc 123 WRRm s%i: 179 z:c8 V:du 235 +m7B BMIH

012 WqvO nxxT 068 SwON zCgF 124 jJxn w3IU 180 peQk 9:Z4 236 L+HO t7UV

013 Dm6f rSjd 069 J7Np u38R 125 peS2 Bqei 181 RHhj oAUb 237 Tc3S X3QO

014 kBpv 8Ucu 070 Xh=N 6gAh 126 WEJg ez8n 182 hBTv /BeF 238 eu9S RazQ

015 So4o u4YD 071 Ctr= IJoE 127 zZmA ge3i 183 LG79 4bjn 239 a%K5 hr=p

016 mvvf AsqA 072 emdP ws62 128 W6jy RT9u 184 OWYY TeHT 240 O7vV :8Ei

017 g6Op G95w 073 %c5P 85Ls 129 d5I8 LJXs 185 CwKH /xQM 241 OfjD YzOL

018 8h=k %B9h 074 Av36 %iOO 130 SRrr QDst 186 vfI4 x/nr 242 Imq8 9xxD

019 V8PE zEJJ 075 bOPT ewxE 131 mWIm LVkH 187 x3=O qi5V 243 Q+C3 G5H=

020 +idN Y6=G 076 Lpvn q=h% 132 khdx wQzf 188 zq/v %Fie 244 P:h5 BVzp

021 KDDc uvyz 077 Nv5r Y7zv 133 4=Yh S=8/ 189 eZ9m uyr2 245 x+QP zw/R

022 P6DP YTye 078 WjAv nOeV 134 xSR5 =dMb 190 swYy g6yE 246 UyX2 7HzX

023 M3c4 ozTg 079 kHaz U7Tc 135 JnkV dvCX 191 R+RM cKiy 247 VZum 7Nd6

024 =Ae% I/A7 080 jX7% UBMF 136 yP2A hRuC 192 rsII RGMj 248 8XGq xJ/H

025 K6Va pxMZ 081 PiCu hM4u 137 3uLV V:Es 193 uqfx zOw3 249 LuCv TMBT

026 b:EA e9=U 082 cUne CxUE 138 BDxD 9nEv 194 Bg+e 89e5 250 cCNG ILmH

027 Vg:L zXCi 083 izO9 JAzL 139 LdVF Bk:I 195 jQdj isiM 251 jBBT b8r9

028 SMpp 7FfK 084 DEVt 9bXC 140 k:k3 Tzum 196 =MsC fQ/s 252 5×9v OcI9

029 BWBq BUsK 085 YQqA gvvM 141 5yAI F+nn 197 JWdW p=N4 253 EIFt zRKP

030 YMHv F+oq 086 WqJS ZTig 142 wnrJ qSkr 198 ms9/ qI54 254 cVQ6 T8ER

031 2YOd :dhi 087 49bF SoAt 143 :Tty qgy9 199 ue+D u5mu 255 7OGJ x6JL

032 BwjD 3dPe 088 =7ia OSAj 144 3=cW DqWz 200 nvRH EG4P 256 bP=A DxG9

033 ZLEL e7yp 089 ysGK Wo3q 145 CfYb +:e/ 201 N4ec BA4T 257 c:up t:iS

034 map7 +PN3 090 =gdw ddc4 146 qTX+ IM6q 202 c=Hq gWr5 258 thnZ Mk%3

035 dw+w L2kw 091 UCsQ ttNP 147 5eL: uGjo 203 yHLY f4wO 259 :Qh4 +If9

036 dIOE Mhzy 092 %FNk RNJ5 148 zUWh OYHY 204 EXnD WdWv 260 fpHf xuLD

037 inqm zsuX 093 5dCn wt4o 149 TCNi AUaG 205 y6ij zhUM 261 IY3K ixi8

038 ICGL YzwB 094 vR5f 3cHn 150 YFEw cU8o 206 EHhC JTEu 262 Pd4c +xD2

039 bid= jaVj 095 qPtD FM8c 151 n4FA Kpct 207 uw7T /5M6 263 Ihvs jwNm

040 UwMx 9HTX 096 WzuW forA 152 RaPu +Z9I 208 ReIr 3nNG 264 xdIU G+ib

041 spGb EoZc 097 Fmmm :gm5 153 2CJB AaSC 209 auna ckz+ 265 vLBY /jPG

042 fofm 5:cR 098 gIHb mkyi 154 v2Yi 6aRQ 210 pgY+ dxHo 266 oouk 9i%=

043 6IZ/ 9iTD 099 Wd=a e%Of 155 x7cJ fT4h 211 3ptR jztZ 267 qfI= Kjnh

044 IwE2 nNpu 100 e8Fz qnR% 156 Upgw gaxa 212 MILe 6d:5 268 gxpM xST%

045 PsuH D6yK 101 NxR: iE+g 157 Ayo% 6thZ 213 hdIk bmSO 269 hK25 4sRW

046 T/n: LP:G 102 HZbs pd=H 158 i7+8 jsu= 214 hvqU NE9a 270 7k=4 ePgm

047 7GD9 8xv6 103 G=NR dj6I 159 yXMq cYbZ 215 8otd QQLR 271 :Bmj aHkm

048 IZsc 7Ak/ 104 3ViE :am+ 160 CmMr wX8t 216 OmvI /aBz 272 GVpk YtdS

049 ngy= /p8K 105 QQ%R oAMt 161 xrtP =XEi 217 eLwR 3zyo 273 pRSf GFeV

050 wRCX 74:S 106 6YTs kbWg 162 pIYX 4ZVn 218 Zi5/ c2iM 274 XOP9 8atF

051 AqrG RXa2 107 2yB3 fTbZ 163 WmzI RVY: 219 TKYN jw=: 275 %8G5 SMNq

052 3z2s %zaF 108 erzO SpkB 164 scoi hOV= 220 r4cu fMyH 276 ROfd %vSU

053 x%bW x2Ms 109 kGPW EIPy 165 x4vd GbPP 221 qt=a ILbn 277 zkOt WV77

054 65M4 spah 110 umFX QWKu 166 Bi=y 9u5Q 222 BYDL ArSb 278 Sj:K GoQy

055 tp9A MNJ5 111 2TqH vJN9 167 tSu% LaiK 223 wtrI iyEw 279 Vue: a3Hn

!!! REMEMBER: Enter the PREFIX PASSWORD first !!!

以迅雷不及掩耳盗铃的速度把这张表打印下来贴身藏好吧.

测试登陆, 从另外一台机器上登陆:

ssh user1@aaa.bbb.ccc.ddd

Password 057/267/184:

先输入831Td, 然后找057 267 184对应字串, 拼接起来, 是/EYB+PibqfI=KjnhOWYYTeHT

最后输入831Td/EYB+PibqfI=KjnhOWYYTeHT

ok, 进入了, 这种方法真的是无比BT哦.

与上篇复杂的静态口令相比, 更狠的是一次性登陆票据.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是TMC2226的STM32寄存器驱动代码示例: ```c #include "stm32f1xx_hal.h" #define TMC2226_SPI_TIMEOUT 1000 // SPI通信超时时间 // TMC2226寄存器地址定义 #define TMC2226_GCONF_REG_ADDR 0x00 #define TMC2226_CHOPCONF_REG_ADDR 0x0C #define TMC2226_SMARTEN_REG_ADDR 0x14 #define TMC2226_SGCSCONF_REG_ADDR 0x1C // TMC2226 SPI通信指令定义 #define TMC2226_WRITE_MASK 0x80 #define TMC2226_READ_MASK 0x7F // TMC2226 GCONF寄存器位定义 #define TMC2226_GCONF_EN_PWM_MODE_BIT 0 #define TMC2226_GCONF_SHAFT_BIT 1 #define TMC2226_GCONF_DIAG0_ERROR_BIT 2 #define TMC2226_GCONF_DIAG0_OTPW_BIT 3 #define TMC2226_GCONF_DIAG1_STALL_BIT 4 #define TMC2226_GCONF_DIAG1_STALL_FORCE_BIT 5 #define TMC2226_GCONF_DIAG1_OT_BIT 6 #define TMC2226_GCONF_DIAG1_STEP_LOSS_A_BIT 7 #define TMC2226_GCONF_DIAG1_STEP_LOSS_B_BIT 8 #define TMC2226_GCONF_PDN_DISABLE_BIT 16 #define TMC2226_GCONF_MSTEP_REG_SELECT_BIT 17 #define TMC2226_GCONF_MULTISTEP_FILT_BIT 20 #define TMC2226_GCONF_TEST_MODE_BIT 21 #define TMC2226_GCONF_RESET_BIT 22 // TMC2226 CHOPCONF寄存器位定义 #define TMC2226_CHOPCONF_TOFF_BIT 0 #define TMC2226_CHOPCONF_HSTRT_BIT 4 #define TMC2226_CHOPCONF_HEND_BIT 7 #define TMC2226_CHOPCONF_TBL_BIT 8 #define TMC2226_CHOPCONF_VSENSE_BIT 17 #define TMC2226_CHOPCONF_MRES_BIT 28 // TMC2226 SMARTEN寄存器位定义 #define TMC2226_SMARTEN_SDOFF_BIT 0 #define TMC2226_SMARTEN_SDN_BIT 1 #define TMC2226_SMARTEN_SEIMIN_BIT 2 #define TMC2226_SMARTEN_SEDN_BIT 3 #define TMC2226_SMARTEN_SEMAX_BIT 4 #define TMC2226_SMARTEN_SEUP_BIT 5 // TMC2226 SGCSCONF寄存器位定义 #define TMC2226_SGCSCONF_CS_BIT 0 #define TMC2226_SGCSCONF_SFILT_BIT 8 #define TMC2226_SGCSCONF_SGT_BIT 16 #define TMC2226_SGCSCONF_SCURRENT_BIT 24 SPI_HandleTypeDef hspi1; // SPI句柄定义 /** * @brief TMC2226写寄存器函数 * @param regAddr 寄存器地址 * @param data 写入的数据 * @return 返回SPI通信结果 */ HAL_StatusTypeDef TMC2226_WriteReg(uint8_t regAddr, uint32_t data) { HAL_StatusTypeDef status; uint8_t txData[5]; uint8_t rxData[5]; txData[0] = regAddr | TMC2226_WRITE_MASK; txData[1] = (data >> 24) & 0xFF; txData[2] = (data >> 16) & 0xFF; txData[3] = (data >> 8) & 0xFF; txData[4] = data & 0xFF; status = HAL_SPI_TransmitReceive(&hspi1, txData, rxData, 5, TMC2226_SPI_TIMEOUT); return status; } /** * @brief TMC2226读寄存器函数 * @param regAddr 寄存器地址 * @param pData 存放读取到的数据指针 * @return 返回SPI通信结果 */ HAL_StatusTypeDef TMC2226_ReadReg(uint8_t regAddr, uint32_t *pData) { HAL_StatusTypeDef status; uint8_t txData[5]; uint8_t rxData[5]; txData[0] = regAddr & TMC2226_READ_MASK; txData[1] = 0; txData[2] = 0; txData[3] = 0; txData[4] = 0; status = HAL_SPI_TransmitReceive(&hspi1, txData, rxData, 5, TMC2226_SPI_TIMEOUT); *pData = (rxData[1] << 24) | (rxData[2] << 16) | (rxData[3] << 8) | rxData[4]; return status; } /** * @brief TMC2226初始化函数 * @return 返回初始化结果 */ HAL_StatusTypeDef TMC2226_Init(void) { HAL_StatusTypeDef status; uint32_t regVal; // GCONF寄存器配置 regVal = 0; regVal |= (1 << TMC2226_GCONF_EN_PWM_MODE_BIT); // 使能PWM模式 status = TMC2226_WriteReg(TMC2226_GCONF_REG_ADDR, regVal); if (status != HAL_OK) { return status; } // CHOPCONF寄存器配置 regVal = 0; regVal |= (0x4 << TMC2226_CHOPCONF_TOFF_BIT); // TOFF = 4 regVal |= (0x2 << TMC2226_CHOPCONF_HSTRT_BIT); // HSTRT = 2 regVal |= (0x8 << TMC2226_CHOPCONF_HEND_BIT); // HEND = 8 regVal |= (1 << TMC2226_CHOPCONF_TBL_BIT); // TBL = 1 regVal |= (0x5 << TMC2226_CHOPCONF_MRES_BIT); // MRES = 5 status = TMC2226_WriteReg(TMC2226_CHOPCONF_REG_ADDR, regVal); if (status != HAL_OK) { return status; } // SMARTEN寄存器配置 regVal = 0; regVal |= (1 << TMC2226_SMARTEN_SDN_BIT); // SDN = 1 status = TMC2226_WriteReg(TMC2226_SMARTEN_REG_ADDR, regVal); if (status != HAL_OK) { return status; } // SGCSCONF寄存器配置 regVal = 0; regVal |= (0x3 << TMC2226_SGCSCONF_CS_BIT); // CS = 3 regVal |= (0x3 << TMC2226_SGCSCONF_SFILT_BIT); // SFILT = 3 regVal |= (0x5 << TMC2226_SGCSCONF_SGT_BIT); // SGT = 5 regVal |= (0x6 << TMC2226_SGCSCONF_SCURRENT_BIT); // SCURRENT = 6 status = TMC2226_WriteReg(TMC2226_SGCSCONF_REG_ADDR, regVal); if (status != HAL_OK) { return status; } return HAL_OK; } ``` 注意,上述代码中的寄存器配置仅作为示例,具体的寄存器配置应根据实际需求进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值