Π₯ΠΎΡΡ ΡΠ°ΡΡΠΊΠ°Π·Π°ΡΡ ΠΊΠ°ΠΊ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ Ρ ΡΠ°Π½ΠΈΡΡ SSH-ΠΊΠ»ΡΡΠΈ Π½Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅, Π½Π΅ Π±ΠΎΡΡΡ Π·Π° ΡΠΎ, ΡΡΠΎ ΠΊΠ°ΠΊΠΎΠ΅-ΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠΊΡΠ°ΡΡΡ ΠΈΠ»ΠΈ ΡΠ°ΡΡΠΈΡΡΠΎΠ²Π°ΡΡ ΠΈΡ .
Π‘ΡΠ°ΡΡΡ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»Π΅Π·Π½Π° ΡΠ΅ΠΌ, ΠΊΡΠΎ ΡΠ°ΠΊ ΠΈ Π½Π΅ Π½Π°ΡΠ΅Π» ΡΠ»Π΅Π³Π°Π½ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠΎΡΠ»Π΅ $HOME/.ssh
.
ΠΠ»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ
ΠΡΠΎ Π΄Π°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ Ρ ΡΠ°Π½ΠΈΡΡ Π²ΡΠ΅ ΠΊΠ»ΡΡΠΈ ΠΏΡΡΠΌΠΎ Π² Π±Π°Π·Π΅ ΠΏΠ°ΡΠΎΠ»Π΅ΠΉ ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΠΈΡ Π² ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΡΠΈ Π΅Ρ ΠΎΡΠΊΡΡΡΠΈΠΈ. ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π±Π°Π·Π° Π±ΡΠ΄Π΅Ρ Π·Π°ΠΊΡΡΡΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ SSH-ΠΊΠ»ΡΡΠ΅ΠΉ ΡΠ°ΠΊΠΆΠ΅ ΡΡΠ°Π½Π΅Ρ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΌ.
ΠΠ΅ΡΠ²ΡΠΌ Π΄Π΅Π»ΠΎΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π°Π²ΡΠΎΠ·Π°ΠΏΡΡΠΊ SSH-Π°Π³Π΅Π½ΡΠ° ΠΏΡΠΈ Π²Ρ
ΠΎΠ΄Π΅ Π² ΡΠΈΡΡΠ΅ΠΌΡ, Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΎΡΠΊΡΠΎΠΉΡΠ΅ ~/.bashrc
Π² Π²Π°ΡΠ΅ΠΌ Π»ΡΠ±ΠΈΠΌΠΎΠΌ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅ ΠΈ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ Π² ΡΠ°ΠΌΡΠΉ ΠΊΠΎΠ½Π΅Ρ:
SSH_ENV="$HOME/.ssh/environment"
function start_agent {
echo "Initialising new SSH agent..."
/usr/bin/ssh-agent | sed 's/^echo/#echo/' > "${SSH_ENV}"
echo succeeded
chmod 600 "${SSH_ENV}"
. "${SSH_ENV}" > /dev/null
}
# Source SSH settings, if applicable
if [ -f "${SSH_ENV}" ]; then
. "${SSH_ENV}" > /dev/null
#ps ${SSH_AGENT_PID} doesn't work under cywgin
ps -ef | grep ${SSH_AGENT_PID} | grep ssh-agent$ > /dev/null || {
start_agent;
}
else
start_agent;
fi
ΠΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π²ΠΊΠ»ΡΡΠΈΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ Π² KeePassXC:
ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ —> ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ —> SSH-Π°Π³Π΅Π½Ρ —> ΠΠΊΠ»ΡΡΠΈΡΡ SSH-Π°Π³Π΅Π½Ρ
ΠΠ° ΡΡΠΎΠΌ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π·Π°Π²Π΅ΡΡΠ΅Π½Π°, ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½ΠΎΠ²ΡΠΉ SSH-ΠΊΠ»ΡΡ Π² KeePassXC:
ΠΠ°ΠΆΠΈΠΌΠ°Π΅ΠΌ Π½Π° ΠΈΠΊΠΎΠ½ΠΊΡ Ρ ΠΊΠ»ΡΡΠΎΠΌ, Π·Π°ΡΠ΅ΠΌ Π·Π°ΠΏΠΎΠ»Π½ΡΠ΅ΠΌ Π΄Π°Π½Π½ΡΠ΅:
ΠΡΠ»ΠΈ ΠΊΠ»ΡΡ Π·Π°ΡΠΈΡΠ΅Π½ ΠΏΠ°ΡΠΎΠ»Π΅ΠΌ, ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΡΠ°ΠΊ-ΠΆΠ΅ ΠΏΠ°ΡΠΎΠ»Ρ ΠΊ Π½Π΅ΠΌΡ
ΠΠ° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌ Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ Π½Π°ΡΠΈΠΌ id_rsa:
ΠΠ° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ SSH-Π°Π³Π΅Π½Ρ, ΠΎΡΠΌΠ΅ΡΠΈΠΌ:
- ΠΠΎΠ±Π°Π²ΠΈΡΡ ΠΊΠ»ΡΡ Π² Π°Π³Π΅Π½Ρ ΠΏΡΠΈ ΠΎΡΠΊΡΡΡΠΈΠΈ/ΡΠ°Π·Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ΅ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
- Π£Π±ΡΠ°ΡΡ ΠΊΠ»ΡΡ ΠΈΠ· Π°Π³Π΅Π½ΡΠ° ΠΏΡΠΈ Π·Π°ΠΊΡΡΡΠΈΠΈ/Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ΅ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
ΠΠ°Π»Π΅Π΅ Π²ΡΠ±Π΅ΡΠ΅ΠΌ Π½Π°Ρ ΠΊΠ»ΡΡ (id_rsa) Π²ΠΎ Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠΈ
Π Π½Π°ΠΆΠΌΠ΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΡ ΠΠΎΠ±Π°Π²ΠΈΡΡ Π² Π°Π³Π΅Π½Ρ:
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ KeePassXC ΠΊΠ»ΡΡ Π±ΡΠ΄Π΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΡΡ Π² SSH-Π°Π³Π΅Π½Ρ, ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ Ρ ΡΠ°Π½ΠΈΡΡ Π½Π° Π΄ΠΈΡΠΊΠ΅!
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com