(DEPRECATED) Elevated SSH Certificate Signing Write Action

Microsoft.Unix.Elevated.SSHBased.Cert.Signing.WriteAction (WriteActionModuleType)

(DEPRECATED) Elevated Write Action to Sign Certificate via SSH

Element properties:

TypeWriteActionModuleType
IsolationAny
AccessibilityPublic
RunAsDefault
InputTypeSystem.BaseData
OutputTypeSystem.BaseData

Member Modules:

ID Module Type TypeId RunAs 
SSHGetCertCommand ProbeAction Microsoft.Unix.SSHCommand.ProbeAction Default
CertSign WriteAction Microsoft.Unix.SCXCert.WriteAction Default
SSHPutCertCommand WriteAction Microsoft.Unix.SSHCommand.WriteAction Default
SSHRenameCertCommand WriteAction Microsoft.Unix.SSHCommand.Elevated.Script.WriteAction Default

Overrideable Parameters:

IDParameterTypeSelectorDisplay NameDescription
Hoststring$Config/Host$Host
Portstring$Config/Port$Port
UserNamestring$Config/UserName$User Name
Passwordstring$Config/Password$Password
SUPasswordstring$Config/SUPassword$Elevation Password

Source Code:

<WriteActionModuleType ID="Microsoft.Unix.Elevated.SSHBased.Cert.Signing.WriteAction" Accessibility="Public">
<Configuration>
<xsd:element name="Host" type="xsd:string"/>
<xsd:element name="Port" type="xsd:string" minOccurs="0"/>
<xsd:element name="UserName" type="xsd:string"/>
<xsd:element name="Password" type="xsd:string"/>
<xsd:element name="SUPassword" type="xsd:string"/>
</Configuration>
<OverrideableParameters>
<OverrideableParameter ID="Host" ParameterType="string" Selector="$Config/Host$"/>
<OverrideableParameter ID="Port" ParameterType="string" Selector="$Config/Port$"/>
<OverrideableParameter ID="UserName" ParameterType="string" Selector="$Config/UserName$"/>
<OverrideableParameter ID="Password" ParameterType="string" Selector="$Config/Password$"/>
<OverrideableParameter ID="SUPassword" ParameterType="string" Selector="$Config/SUPassword$"/>
</OverrideableParameters>
<ModuleImplementation>
<Composite>
<MemberModules>
<ProbeAction ID="SSHGetCertCommand" TypeID="Microsoft.Unix.SSHCommand.ProbeAction">
<Host>$Config/Host$</Host>
<Port>$Config/Port$</Port>
<UserName>$Config/UserName$</UserName>
<Password>$Config/Password$</Password>
<Command>if test -r /etc/opt/microsoft/scx/ssl/scx.pem; then cat /etc/opt/microsoft/scx/ssl/scx.pem; else cat /etc/opt/microsoft/scx/ssl/scx-seclevel1.pem; fi</Command>
<TimeoutSeconds>30</TimeoutSeconds>
<IgnoreElevation>false</IgnoreElevation>
</ProbeAction>
<WriteAction ID="CertSign" TypeID="Microsoft.Unix.SCXCert.WriteAction">
<Certificate>$Data///stdout$</Certificate>
</WriteAction>
<WriteAction ID="SSHPutCertCommand" TypeID="Microsoft.Unix.SSHCommand.WriteAction">
<Host>$Config/Host$</Host>
<Port>$Config/Port$</Port>
<UserName>$Config/UserName$</UserName>
<Password>$Config/Password$</Password>
<Command>echo '$Data///certificate$'&gt;/tmp/scx.pem</Command>
<TimeoutSeconds>30</TimeoutSeconds>
</WriteAction>
<WriteAction ID="SSHRenameCertCommand" TypeID="Microsoft.Unix.SSHCommand.Elevated.Script.WriteAction">
<Host>$Config/Host$</Host>
<Port>$Config/Port$</Port>
<UserName>$Config/UserName$</UserName>
<Password>$Config/Password$</Password>
<SUPassword>$Config/SUPassword$</SUPassword>
<SUCommand>"su root -c"</SUCommand>
<Command>"cp /tmp/scx.pem /etc/opt/microsoft/scx/ssl/scx.pem; rm /tmp/scx.pem; /opt/microsoft/scx/bin/tools/scxadmin -restart"</Command>
</WriteAction>
</MemberModules>
<Composition>
<Node ID="SSHRenameCertCommand">
<Node ID="SSHPutCertCommand">
<Node ID="CertSign">
<Node ID="SSHGetCertCommand"/>
</Node>
</Node>
</Node>
</Composition>
</Composite>
</ModuleImplementation>
<OutputType>System!System.BaseData</OutputType>
<InputType>System!System.BaseData</InputType>
</WriteActionModuleType>