ΠΠΎΡΠ»Π΅ ΡΠ΅ΡΡΠΈ ΠΌΠ΅ΡΡΡΠ΅Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ ΡΠ΅Π»ΠΈΠ· OpenSSH 9.1, ΠΎΡΠΊΡΡΡΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ° Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΠΏΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°ΠΌ SSH 2.0 ΠΈ SFTP. ΠΡΠΏΡΡΠΊ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΠ·ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΎΠΊ, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΡΡΡΡΠ°Π½Π΅Π½ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ, Π²ΡΠ·Π²Π°Π½Π½ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΏΠ°ΠΌΡΡΡΡ:
- ΠΠ΄Π½ΠΎΠ±Π°ΠΉΡΠΎΠ²ΠΎΠ΅ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π² ΠΊΠΎΠ΄Π΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ SSH-Π±Π°Π½Π½Π΅ΡΠ° Π² ΡΡΠΈΠ»ΠΈΡΠ΅ ssh-keyscan.
- ΠΠ²ΠΎΠΉΠ½ΠΎΠΉ Π²ΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ free() Π² ΡΠ»ΡΡΠ°Π΅ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΏΡΠΈ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΈ Ρ ΡΡΠ΅ΠΉ Π΄Π»Ρ ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΠΊΠΎΠ΄Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠΈΡΡΠΎΠ²ΡΡ ΠΏΠΎΠ΄ΠΏΠΈΡΠ΅ΠΉ Π² ΡΡΠΈΠ»ΠΈΡΠ΅ ssh-keygen.
- ΠΠ²ΠΎΠΉΠ½ΠΎΠΉ Π²ΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ free() ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΎΡΠΈΠ±ΠΎΠΊ Π² ΡΡΠΈΠ»ΠΈΡΠ΅ ssh-keysign.
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ:
- Π ssh ΠΈ sshd Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π° RequiredRSASize, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ°Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎ Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ RSA-ΠΊΠ»ΡΡΠ΅ΠΉ. Π sshd ΠΊΠ»ΡΡΠΈ ΠΌΠ΅Π½ΡΡΠ΅Π³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π±ΡΠ΄ΡΡ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡΡΡ, Π° Π² ssh ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡ ΠΊ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ.
- ΠΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΠ°Ρ ΡΠ΅Π΄Π°ΠΊΡΠΈΡ OpenSSH ΠΏΠ΅ΡΠ΅Π²Π΅Π΄Π΅Π½Π° Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ SSH-ΠΊΠ»ΡΡΠ΅ΠΉ Π΄Π»Ρ Π·Π°Π²Π΅ΡΠ΅Π½ΠΈΡ ΡΠΈΡΡΠΎΠ²ΠΎΠΉ ΠΏΠΎΠ΄ΠΏΠΈΡΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΈ ΡΠ΅Π³ΠΎΠ² Π² Git.
- ΠΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ SetEnv Π² ΡΠ°ΠΉΠ»Π°Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ssh_config ΠΈ sshd_config ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ· ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ, Π΅ΡΠ»ΠΈ ΠΎΠ½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π· (Π΄ΠΎ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ»ΠΎΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ ΡΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠ΅).
- ΠΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠΈΠ»ΠΈΡΡ ssh-keygen Ρ ΡΠ»Π°Π³ΠΎΠΌ «-A» (Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ Π²ΡΠ΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠΈΠΏΠΎΠ² Ρ ΠΎΡΡΠΎΠ²ΡΡ ΠΊΠ»ΡΡΠ΅ΠΉ) ΠΎΡΠΊΠ»ΡΡΠ΅Π½Π° Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ ΠΊΠ»ΡΡΠ΅ΠΉ DSA, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΆΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π»Π΅Ρ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
- Π sftp-server ΠΈ sftp ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ «[email protected]», Π΄Π°ΡΡΠ΅Π΅ ΠΊΠ»ΠΈΠ΅Π½ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π·Π°ΠΏΡΠΎΡΠΈΡΡ ΠΈΠΌΠ΅Π½Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΈ Π³ΡΡΠΏΠΏ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡ Π½Π°Π±ΠΎΡΡ ΡΠΈΡΡΠΎΠ²ΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ² (uid ΠΈ gid). Π sftp Π΄Π°Π½Π½ΠΎΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΎ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈΠΌΡΠ½ ΠΏΡΠΈ Π²ΡΠ²ΠΎΠ΄Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°.
- Π sftp-server ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ «home-directory» Π΄Π»Ρ ΡΠ°ΡΠΊΡΡΡΠΈΡ ΠΏΡΡΠ΅ΠΉ ~/ ΠΈ ~user/, Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΠΎΠ΅ ΡΠ°Π½Π΅Π΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π²ΡΠ΅ΠΌΡΡΡ Π΄Π»Ρ ΡΠ΅Ρ ΠΆΠ΅ ΡΠ΅Π»Π΅ΠΉ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ «[email protected]» (ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ «home-directory» ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ Π΄Π»Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠΈΠ·Π°ΡΠΈΠΈ ΠΈ ΡΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°ΠΌΠΈ).
- Π ssh-keygen ΠΈ sshd Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΊΠ°Π·Π°Π½ΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π² ΡΠ°ΡΠΎΠ²ΠΎΠΌ ΠΏΠΎΡΡΠ΅ UTC ΠΏΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»ΠΎΠ² Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ² ΠΈ ΠΊΠ»ΡΡΠ΅ΠΉ, Π² Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΌΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
- Π sftp ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΎ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² Π² ΠΎΠΏΡΠΈΠΈ «-D» (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, «/usr/libexec/sftp-server -el debug3»).
- Π ssh-keygen ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ»Π°Π³Π° «-U» (ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ssh-agent) Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠΌΠΈ «-Y sign» Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ, ΡΡΠΎ Π·Π°ΠΊΡΡΡΡΠ΅ ΠΊΠ»ΡΡΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½Ρ Π² ssh-agent.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru