Π― ΠΈΡΠΊΠ°Π» ΡΠΏΠΎΡΠΎΠ± ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ SCP ΡΠ΅ΡΠ΅Π· Fabric ΠΈ ΠΏΠΎΡΠ»Π΅ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ°ΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ» ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ β 945 (ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ get/put Ρ ΠΏΠΎΠΌΠΎΡΡΡ scp), ΠΊΠΎΡΠΎΡΠ°Ρ Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Π·Π°ΠΊΡΡΡΠ°.
Π‘ΠΌ. Paramiko #150 β Fabric Π½Π΅ ΡΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠ΅Π΄ΠΏΡΠΈΠ½ΡΡΡ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΠΎ ΡΡΠΎΠΌΡ ΠΏΠΎΠ²ΠΎΠ΄Ρ, ΠΏΠΎΠΊΠ° ΠΌΡ Π½Π΅ ΡΠ΅ΡΠΈΠΌ, ΠΊΠ°ΠΊ/Π΄ΠΎΠ»ΠΆΠ½Π° Π»ΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Paramiko.
_ΠΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ΠΎ @bitprophet Π² https://github.com/fabric/fabric/issues/945#issuecomment -26168826_
ΠΡΠΎ Π±ΡΠ»ΠΎ Π² 2013 Π³ΠΎΠ΄Ρ, ΠΈ Π²ΠΎΠΏΡΠΎΡ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ SCP Π²ΠΌΠ΅ΡΡΠΎ SFTP, Π²ΡΠ΅ Π΅ΡΠ΅ ΠΎΡΡΠ°Π΅ΡΡΡ ΠΎΡΠΊΡΡΡΡΠΌ.
https://github.com/fabric/fabric/blob/e9939d68b734935f0c98d98817912ad7c698238f/fabric/transfer.py#L26
Π£ΡΠΈΡΡΠ²Π°Ρ, ΡΡΠΎ Fabric Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ SCP Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ, ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ, ΡΡΠΎΠ±Ρ ΠΎΡΡΠ°Π·ΠΈΡΡ ΡΡΠΎ, ΠΈΡΠΊΠ»ΡΡΠΈΠ² SCP? ΠΠΎΠΆΠ΅Ρ ΠΈΠ·Π±Π°Π²ΠΈΡΡ Π΄ΡΡΠ³ΠΈΡ ΠΎΡ ΡΠ»Π΅Π΄ΡΡΠ²Π΅Π½Π½ΡΡ ΡΡΠΈΠ»ΠΈΠΉ.
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° Π²Π°ΡΠ΅ Π²ΡΠ΅ΠΌΡ!
PS: Ρ Π²ΡΠ΅ Π΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Fabric Π΄Π»Ρ ΡΠ°Π±ΠΎΡΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² SSH. ΠΡΠ΅Π½Ρ ΠΏΡΠΎΡΡ Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ! π
Π― ΠΎΠ±ΡΠ°ΡΠΈΠ»ΡΡ ΠΊ ΡΡΠΎΠΌΡ Π² # 2029
Π Π»ΡΠ±ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, scp ΠΊΠ°ΠΆΠ΅ΡΡΡ Π²ΡΠ΅ ΠΌΠ΅Π½Π΅Π΅ ΠΈ ΠΌΠ΅Π½Π΅Π΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌΡΠΌ SSH upstream, ΠΏΠΎΡΡΠΎΠΌΡ ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ» ΡΠ΄Π°Π»ΠΈΡΡ Π΅Π³ΠΎ.
ΠΠΎΠΉ Ρ ΠΎΡΡ SSH Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ SFTP, ΡΠΎΠ»ΡΠΊΠΎ SCP ΠΈ ΡΡΠ΅Π½ΠΈΠ΅
ΠΠ΅ΡΠ΅Π΄Π°ΡΠ° ΡΠ°ΠΉΠ»ΠΎΠ² ΡΠ΅ΡΠ΅Π· SFTP ΠΈ/ΠΈΠ»ΠΈ SCP.
ΡΠ΄Π΅Π»Π°Π» Π΄Π»Ρ ΠΌΠ΅Π½Ρ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΡΠΌ, ΡΡΠΎ Ρ ΠΌΠΎΠ³Ρ ΠΊΠ°ΠΊΠΈΠΌ-ΡΠΎ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π²ΡΠ±ΡΠ°ΡΡ, ΠΊΠ°ΠΊΠΎΠΉ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» Ρ Ρ ΠΎΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ. Π Π΄Π°, ΠΏΠΎΡΠ»Π΅ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΏΠΎΠΈΡΠΊΠ° Π² ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ°Ρ , Π° Π·Π°ΡΠ΅ΠΌ Π² ΠΠ½ΡΠ΅ΡΠ½Π΅ΡΠ΅, Ρ Π·Π΄Π΅ΡΡ Ρ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊΠΈΠΌ ΠΆΠ΅ Π²ΠΎΠΏΡΠΎΡΠΎΠΌ.
+1
ΠΠΎΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ sftp, ΠΈ Ρ ΠΏΠΎΡΡΠ°ΡΠΈΠ» Π²ΡΠ΅ΠΌΡ, ΠΏΠΎΠ»Π°Π³Π°Ρ, ΡΡΠΎ ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ Π½Π΅Π²Π΅ΡΠ΅Π½.
ΠΠΎΠΆΠ΅ΡΠ΅ Π»ΠΈ Π²Ρ ΡΠ΄Π°Π»ΠΈΡΡ ΡΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠ΅ scp ΠΈΠ· Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΈΠ»ΠΈ ΡΠΏΠΎΠΌΡΠ½ΡΡΡ, ΡΡΠΎ ΡΡΠΎ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ?
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ
+1
ΠΠΎΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» SFTP, ΠΈ Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΡΡΠ°ΡΠΈΠ» Π΄ΠΎΠ»Π³ΠΈΠ΅ ΡΠ°ΡΡ Π½Π° ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ², ΡΠ΄Π΅Π»Π°Π½Π½ΡΡ
ΡΠΊΠ°Π½ΡΡ. ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ.
ΠΌΠΎΠΆΠ΅ΠΌ Π»ΠΈ ΠΌΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π² +1 Π·Π΄Π΅ΡΡ? Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΡΠΎ Π½Π°ΠΆΠ°ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ :+1: Π½Π° ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ, Π²ΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π·Π²ΠΎΠ½ΠΈΡΡ Π²ΡΠ΅ΠΌ Π·Π΄Π΅ΡΡ.
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
ΠΌΠΎΠΆΠ΅ΠΌ Π»ΠΈ ΠΌΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π² +1 Π·Π΄Π΅ΡΡ? Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΡΠΎ Π½Π°ΠΆΠ°ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ :+1: Π½Π° ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ, Π²ΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π·Π²ΠΎΠ½ΠΈΡΡ Π²ΡΠ΅ΠΌ Π·Π΄Π΅ΡΡ.