+
    Dfjv                         R t ^ RIHt ^ RIHtHt ^ RIHt ^ RI	H
t
Ht ^ RIHt  ! R R]P                  ]P                  4      tR tR	# )
z4
Support module for making SSH servers with twistd.
)strports)checkersunix)factory)portalstrcred)usagec            	          a a ] tR t^t oRtRt. RO. RO. RO. RO.t]P                  ! R]P                  ! RR7      R]P                  ! RR7      R]P                  ! 4       /R	7      tV 3R
 ltV 3R ltRtVtV ;t# )Optionsz([-i <interface>] [-p <port>] [-d <dir>] zMakes a Conch SSH server.  If no authentication methods are specified, the default authentication methods are UNIX passwords and SSH public keys.  If --auth options are passed, only the measures specified will be used.	interfacedatamodulizdata directory)descrzmoduli directory)
optActionsc                  < \         P                  P                  ! V .VO5/ VB  \        SV `  \
        P                  ! 4       4       \        SV `  \
        P                  ! \
        P                  ! 4       4      4       R V n	        R# )TN)
r   r
   __init__super
addCheckerconch_checkersUNIXPasswordDatabaseSSHPublicKeyCheckerUNIXAuthorizedKeysFiles_usingDefaultAuth)selfakw	__class__s   &*,3/usr/lib/python3/dist-packages/twisted/conch/tap.pyr   Options.__init__+   se    t.a.2. 	>>>@A..~/U/U/WX	
 "&    c                l   < V P                   '       d   . V R&   / V R&   RV n         \        SV `	  V4       R# )z
Add the checker specified.  If any checkers are added, the default
checkers are automatically cleared and the only checkers will be the
specified one(s).
credCheckerscredInterfacesFN)r   r   r   )r   checkerr   s   &&r   r   Options.addChecker8   s;     !!!#%D %'D!"%*D"7#r   )r   )r   i z"local interface to which we listen)portpztcp:22zPort on which to listen)r   dz/etcz"directory to look for host keys in)r   r&   Nz:directory to look for moduli in (if different from --data))__name__
__module____qualname____firstlineno__synopsislongdescoptParametersr   CompletionsCompleteDirsCompleteNetInterfacescompDatar   r   __static_attributes____classdictcell____classcell__)r   __classdict__s   @@r   r
   r
      s     9H	<  	E:C	
	
M   E&&-=>e((/AB446
H&
$ 
$r   r
   c                   \         P                  ! 4       p\        P                  ! 4       p\        P
                  ! W P                  R. 4      4      Vn        V R,          Vn        V R,          ;'       g
    V R,          Vn        V R,          pV R,          '       d   VRV R,          ,           ,          p\        P                  ! W14      # )a0  
Construct a service for operating a SSH server.

@param config: An L{Options} instance specifying server options, including
    where server keys are stored and what authentication methods to use.

@return: A L{twisted.application.service.IService} provider which contains
    the requested SSH server.
r!   r   r   r'   r   z:interface=)r   OpenSSHFactoryr   UnixSSHRealmr   PortalgetdataRoot
moduliRootr   service)configtrr'   s   &   r   makeServicerD   E   s     	 AA}}Q

>2 >?AHAJ(#55vf~AL&>Dk{ 333D$$r   N)__doc__twisted.applicationr   twisted.conchr   r   r   twisted.conch.openssh_compatr   twisted.credr   r   twisted.pythonr   r
   AuthOptionMixinrD    r   r   <module>rM      s9   
 ) : 0 (  2$emmW44 2$j%r   