Я работаю локально на win10 с помощью git-bash. Я заинтересован в настройке базовой безопасности на ubuntu 16.4 vps, над которым я работаю. Я читаю https://www.codelitt.com/blog/my-first-10-minutes-on-a-server-primer-for-securing-ubuntu/ и http://plusbryan.com/my-first-5-minutes-on-a-server-or-essential-security-for-linux-servers.
На основании этого я сделал:
vim /etc/default/ufw
затем:
IPV6=yes
sudo ufw allow OpenSSH
sudo ufw allow 80
sudo ufw allow 443
Затем я сбросил его.
У меня есть скрипт фабрики python, который я успешно использовал раньше на этом сервере, прежде чем вносить изменения в систему безопасности:
@roles('production')
def dir():
# env.key_filename = '~/.ssh/id_rsa'
# env.key_filename = 'E:\.ssh\id_rsa.pem.ppk'
env.key_filename = 'E:\.ssh\id_rsa_private'
local("pip freeze > requirements.txt")
local("git add . --all && git commit -m 'fab'")
local("git push myproject master")
run('pwd')
run('ls')
code_dir = '/home/deploy/myproject/'
with cd(code_dir):
run('pwd')
run('git reset --hard master')
run('ls -la')
Теперь, когда я запускаю его, я получаю:
debug1: Connecting to xx.xx.xx.xx [xx.xx.xx.xx] port 22.
debug1: connect to address xx.xx.xx.xx port 22: Connection refused
ssh: connect to host xx.xx.xx.xx port 22: Bad file number
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Fatal error: local() encountered an error (return code 128) while executing 'git push mysite master'
Я включил telnet-клиент Windows 10 и запустил telnet xxx.xx.xx.xx 22, получил:
Could not open connection to the host, on port 22: Connect failed
Но я считаю, что порт 22 открыт, потому что я могу войти в систему с помощью putty.
Я проверил, и на моем vps мои /home/deploy/.ssh/authorized _keys содержат мой открытый ключ id_rsa. Я пробовал различные версии закрытого ключа в сценарии фабрики, потому что подозреваю, что это проблема, связанная с ключом.
Одна из проблем заключается в том, что теперь у меня есть кодовая фраза для моего ключа, но ткань не останавливается, чтобы спросить об этом.
Как я могу заставить это работать?