OpenSSh privilege separation model - http://www.citi.umich.edu/u/provos/ssh/privsep.html Posix_spawn is implemented in POSIX adapter as an alternative to fork() that is heavily used in Privilege separation. Additional state info is added to sshd to accommodate distinguishing the various modes (privileged monitor, unprivileged child, authenticated child). Required service state (like config and host keys) is transmitted over pipes from monitor to child processes. Changes to installation scripts and tests to accomodate new architectural changes |
||
---|---|---|
.. | ||
testdata | ||
Authorized_keys_fileperm.Tests.ps1 | ||
CertAuth.Tests.ps1 | ||
Cfginclude.Tests.ps1 | ||
CommonUtils.psm1 | ||
Hostkey_fileperm.Tests.ps1 | ||
KeyUtils.Tests.ps1 | ||
Log_fileperm.Tests.ps1 | ||
PlatformAbstractLayer.psm1 | ||
PortForwarding.Tests.ps1 | ||
PowerShell.SSH.Tests.ps1 | ||
README.md | ||
SCP.Tests.ps1 | ||
SFTP.Tests.ps1 | ||
SSH.Tests.ps1 | ||
SSHDConfig.tests.ps1 | ||
SSHD_Config | ||
Userkey_fileperm.Tests.ps1 | ||
known_hosts | ||
ssh-add-hostkey-tmp.txt | ||
ssh_config | ||
sshtest_ca_userkeys | ||
sshtest_ca_userkeys.pub | ||
sshtest_hostkey_dsa | ||
sshtest_hostkey_dsa.pub | ||
sshtest_hostkey_ecdsa | ||
sshtest_hostkey_ecdsa.pub | ||
sshtest_hostkey_ed25519 | ||
sshtest_hostkey_ed25519.pub | ||
sshtest_hostkey_rsa | ||
sshtest_hostkey_rsa.pub | ||
sshtest_userssokey_ed25519 | ||
sshtest_userssokey_ed25519.pub |
README.md
Run OpenSSH Pester Tests:
To setup the test environment before test run:
Import-Module .\openssh-portable\contrib\win32\openssh\OpenSSHTestHelper.psm1 –Force
Setup-OpenSSHTestEnvironment
Setup-OpenSSHTestEnvironment
contains below parameters:
-OpenSSHBinPath
: Specify the location where ssh.exe should be picked up. If not specified, the function will prompt to user if he/she want to choose the first ssh.exe found in$env:path
if exists.-TestDataPath
: Specify the location where the test binaries deploy to. The default is$env:SystemDrive\OpenSSHTests
if it not specified.-Quiet
: If it is set, the function will do all the changes without prompting to user to confirm.-DebugMode
: If it is set, the subsequent tests will be running in debug mode. User can modify by setting $OpenSSHTestInfo["DebugMode"] .
To run the test suites:
Run-OpenSSHE2ETest
Run-OpenSSHUnitTest
To run a particular test, just run the script or the executatlbe directly
C:\git\openssh-portable\regress\pesterTests\SCP.Tests.ps1
C:\git\openssh-portable\bin\x64\Release\unittest-bitmap\unittest-bitmap.exe
To verify / modify (Ex- DebugMode) the Test setup environment
$OpenSSHTestInfo
$OpenSSHTestInfo["DebugMode"] = $true
To revert what's done in Setup-OpenSSHTestEnvironment:
Cleanup-OpenSSHTestEnvironment
Guidelines for writing Pester based OpenSSH test cases
Follow these simple steps for test case indexing
- Initialize the following variables at start
$tC = 1
$tI = 0
- Place the following blocks in Describe
BeforeEach {
$stderrFile=Join-Path $testDir "$tC.$tI.stderr.txt"
$stdoutFile=Join-Path $testDir "$tC.$tI.stdout.txt"
$logFile = Join-Path $testDir "$tC.$tI.log.txt"
}
AfterEach {$tI++;}
- Place the following blocks in each Context
BeforeAll {$tI=1}
AfterAll{$tC++}
- Prefix any test out file with $tC.$tI. You may use pre-created $stderrFile, $stdoutFile, $logFile for this purpose