Skip to content

Commit dc39ae2

Browse files
authored
Refactor user management functions to remove password parameter
1 parent 18133aa commit dc39ae2

File tree

1 file changed

+17
-31
lines changed

1 file changed

+17
-31
lines changed

regress/pesterTests/SSHDConfig.tests.ps1

Lines changed: 17 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -53,11 +53,13 @@ Match User matchuser
5353

5454
function Add-LocalUser
5555
{
56-
param([string] $UserName, [string] $Password)
56+
param([string] $UserName)
5757
$user = [System.DirectoryServices.AccountManagement.UserPrincipal]::FindByIdentity($PrincipalContext, $IdentityType, $UserName)
5858
if($user -eq $null)
5959
{
6060
try {
61+
# key is used for auth, so this can be anything
62+
$Password = -join ((48..57) + (65..90) + (97..122) | Get-SecureRandom -Count 14 | ForEach-Object {[char]$_})
6163
$user = new-object -TypeName System.DirectoryServices.AccountManagement.UserPrincipal -ArgumentList @($PrincipalContext,$UserName,$Password, $true)
6264
$user.Save()
6365
}
@@ -85,9 +87,9 @@ Match User matchuser
8587

8688
function Add-UserToLocalGroup
8789
{
88-
param([string]$UserName, [string]$Password, [string]$GroupName)
90+
param([string]$UserName, [string]$GroupName)
8991
Add-LocalGroup -groupName $GroupName
90-
Add-LocalUser -UserName $UserName -Password $Password
92+
Add-LocalUser -UserName $UserName
9193
$group = [System.DirectoryServices.AccountManagement.GroupPrincipal]::FindByIdentity($PrincipalContext, $IdentityType, $GroupName)
9294
$user = [System.DirectoryServices.AccountManagement.UserPrincipal]::FindByIdentity($PrincipalContext, $IdentityType, $UserName)
9395

@@ -120,21 +122,6 @@ Match User matchuser
120122
}
121123
}
122124

123-
function Clenaup-LocalGroup
124-
{
125-
param([string]$GroupName)
126-
$group = [System.DirectoryServices.AccountManagement.GroupPrincipal]::FindByIdentity($PrincipalContext, $IdentityType, $GroupName)
127-
if($group -ne $null)
128-
{
129-
try {
130-
$group.Delete()
131-
}
132-
finally {
133-
$group.Dispose()
134-
}
135-
}
136-
}
137-
138125
function Set-SSHDConfigLine
139126
{
140127
param([string]$line, [string]$file)
@@ -183,8 +170,6 @@ Match User matchuser
183170
#>
184171
Context "Tests of AllowGroups, AllowUsers, DenyUsers, DenyGroups" {
185172
BeforeAll {
186-
$password = "Bull_dog123456"
187-
188173
$allowUser1 = "allowuser1"
189174
$allowUser2 = "allowuser2"
190175
$allowUser3 = "allowuser3"
@@ -207,6 +192,7 @@ Match User matchuser
207192
$denyGroup3 = "denygroup3"
208193
$sshdConfigPath = $sshdconfig_custom
209194
#add wrong password so ssh does not prompt password if failed with authorized keys
195+
$password = -join ((48..57) + (65..90) + (97..122) | Get-SecureRandom -Count 14 | ForEach-Object {[char]$_})
210196
Add-PasswordSetting -Pass $password
211197
$tI=1
212198
}
@@ -229,7 +215,7 @@ Match User matchuser
229215
#Run
230216
Start-SSHDTestDaemon -WorkDir $opensshbinpath -Arguments "-d -f $sshdConfigPath -E $sshdlog" -Port $port
231217

232-
Add-UserToLocalGroup -UserName $allowUser1 -Password $password -GroupName $allowGroup1
218+
Add-UserToLocalGroup -UserName $allowUser1 -GroupName $allowGroup1
233219

234220
$o = ssh -p $port $allowUser1@$server echo 1234
235221
Stop-SSHDTestDaemon -Port $port
@@ -243,7 +229,7 @@ Match User matchuser
243229
#Run
244230
Start-SSHDTestDaemon -WorkDir $opensshbinpath -Arguments "-d -f $sshdConfigPath -E $sshdlog" -Port $port
245231

246-
Add-UserToLocalGroup -UserName $allowUser2 -Password $password -GroupName $allowGroup1
232+
Add-UserToLocalGroup -UserName $allowUser2 -GroupName $allowGroup1
247233

248234
$o = ssh -p $port $allowUser2@$server echo 1234
249235
Stop-SSHDTestDaemon -Port $port
@@ -256,7 +242,7 @@ Match User matchuser
256242
It "$tC.$tI-User with ? wildcard" -skip:$skip {
257243
#Run
258244
Start-SSHDTestDaemon -WorkDir $opensshbinpath -Arguments "-d -f $sshdConfigPath -E $sshdlog" -Port $port
259-
Add-UserToLocalGroup -UserName $allowUser3 -Password $password -GroupName $allowGroup1
245+
Add-UserToLocalGroup -UserName $allowUser3 -GroupName $allowGroup1
260246

261247
$o = ssh -p $port $allowUser3@$server echo 1234
262248
Stop-SSHDTestDaemon -Port $port
@@ -270,7 +256,7 @@ Match User matchuser
270256
#Run
271257
Start-SSHDTestDaemon -WorkDir $opensshbinpath -Arguments "-d -f $sshdConfigPath -E $sshdlog" -Port $port
272258

273-
Add-UserToLocalGroup -UserName $denyUser1 -Password $password -GroupName $allowGroup1
259+
Add-UserToLocalGroup -UserName $denyUser1 -GroupName $allowGroup1
274260

275261
ssh -p $port -E $sshlog $denyUser1@$server echo 1234
276262
$LASTEXITCODE | Should Not Be 0
@@ -286,7 +272,7 @@ Match User matchuser
286272
#Run
287273
Start-SSHDTestDaemon -WorkDir $opensshbinpath -Arguments "-d -f $sshdConfigPath -E $sshdlog" -Port $port
288274

289-
Add-UserToLocalGroup -UserName $denyUser2 -Password $password -GroupName $allowGroup1
275+
Add-UserToLocalGroup -UserName $denyUser2 -GroupName $allowGroup1
290276

291277
ssh -p $port -E $sshlog $denyUser2@$server echo 1234
292278
$LASTEXITCODE | Should Not Be 0
@@ -302,7 +288,7 @@ Match User matchuser
302288
#Run
303289
Start-SSHDTestDaemon -WorkDir $opensshbinpath -Arguments "-d -f $sshdConfigPath -E $sshdlog" -Port $port
304290

305-
Add-UserToLocalGroup -UserName $denyUser3 -Password $password -GroupName $allowGroup1
291+
Add-UserToLocalGroup -UserName $denyUser3 -GroupName $allowGroup1
306292

307293
ssh -p $port -E $sshlog $denyUser3@$server echo 1234
308294
$LASTEXITCODE | Should Not Be 0
@@ -318,8 +304,8 @@ Match User matchuser
318304
#Run
319305
Start-SSHDTestDaemon -WorkDir $opensshbinpath -Arguments "-d -f $sshdConfigPath -E $sshdlog" -Port $port
320306

321-
Add-UserToLocalGroup -UserName $localuser1 -Password $password -GroupName $allowGroup1
322-
Add-UserToLocalGroup -UserName $localuser1 -Password $password -GroupName $denyGroup1
307+
Add-UserToLocalGroup -UserName $localuser1 -GroupName $allowGroup1
308+
Add-UserToLocalGroup -UserName $localuser1 -GroupName $denyGroup1
323309

324310
ssh -p $port -E $sshlog $localuser1@$server echo 1234
325311
$LASTEXITCODE | Should Not Be 0
@@ -336,7 +322,7 @@ Match User matchuser
336322
#Run
337323
Start-SSHDTestDaemon -WorkDir $opensshbinpath -Arguments "-d -f $sshdConfigPath -E $sshdlog" -Port $port
338324

339-
Add-UserToLocalGroup -UserName $localuser2 -Password $password -GroupName $denyGroup2
325+
Add-UserToLocalGroup -UserName $localuser2 -GroupName $denyGroup2
340326

341327
ssh -p $port -E $sshlog $localuser2@$server echo 1234
342328
$LASTEXITCODE | Should Not Be 0
@@ -352,7 +338,7 @@ Match User matchuser
352338
#Run
353339
Start-SSHDTestDaemon -WorkDir $opensshbinpath -Arguments "-d -f $sshdConfigPath -E $sshdlog" -Port $port
354340

355-
Add-UserToLocalGroup -UserName $localuser3 -Password $password -GroupName $denyGroup3
341+
Add-UserToLocalGroup -UserName $localuser3 -GroupName $denyGroup3
356342

357343
ssh -p $port -E $sshlog $localuser3@$server echo 1234
358344
$LASTEXITCODE | Should Not Be 0
@@ -367,7 +353,7 @@ Match User matchuser
367353
It "$tC.$tI - Match User block with ForceCommand" -skip:$skip {
368354
Start-SSHDTestDaemon -WorkDir $opensshbinpath -Arguments "-d -f $sshdConfigPath -E $sshdlog" -Port $port
369355
$matchuser = "matchuser"
370-
Add-UserToLocalGroup -UserName $matchuser -Password $password -GroupName $allowGroup1
356+
Add-UserToLocalGroup -UserName $matchuser -GroupName $allowGroup1
371357

372358
$o = ssh -p $port -T $matchuser@$server randomcommand
373359
# Match block's ForceCommand returns output of "whoami & set SSH_ORIGINAL_COMMAND"

0 commit comments

Comments
 (0)