密码管理(env.password and ssh key)(2)

键入以上命令后,会出现一连串的提示,忽略它,一直按回车键即可。
执行完成后,将在用户的 ~/.ssh/ 目录生成以下两个文件:

~/.ssh/id_rsa 私钥 ~/.ssh/id_rsa.pub 公钥

公钥填充

把生成的公钥文件 ~/.ssh/id_rsa.pub里面的数据添加进远程服务器的 authorized_keys file 文件中

注:如果远程服务器没有 .ssh 文件夹,需要创建

scp ~/.ssh/id_rsa.pub user@host:~/.ssh/ cat ~/.ssh/id_rsa.pub >> authorized_keys

然后准备我们的用我们的 SSH Key 代替我们的密码:

#!/usr/bin/python env from fabric.api import * from fabric.colors import * from fabric.context_managers import * env.hosts=['168.192.1.10','168.192.1.12'] # env.password='xxxxxx' env.key_filename = "~/.ssh/id_rsa" def ls_path(): print(green("I'm local /home/apps/")) with cd('/home/apps'): run('ls -l') def put_path(): print(green("I'm put local's test file to 10 and 12")) put('/home/apps/test','/home/apps/') print(yellow("I'm 10 or 12 /home/apps/")) with cd('/home/apps'): run('ls -l') def deploy(): execute(ls_path) execute(put_path)

我们强烈推荐使用基于 SSH key 的访问方式代替依靠同样的密码,SSH key 方式是更加安全的 

使用 Vagrant 和 Fabric 用于集成测试

Fabric:Python远程部署工具

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/f48d47fbeed31b621052803bde358ffa.html