+
    üÐ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>] zÚMakes 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‚   ù‡ € Ø9€Hð	<ð ò 	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Ó >Ó?€A„HØ˜•€A„JØ˜(Õ#×5Ð5 v¨f¥~€A„Là�&�>€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$ˆe�m‰m˜W×4Ñ4ô 2$ôj%r   