https://www.cnblogs.com/whatisfantasy/p/6138663.html
https://blog.csdn.net/u014028063/article/details/81197431
免密登录
ssh-keygen -t rsa -b 4096 -a 100 生成key, .pub是公钥
ssh-copy-id -i D:/cygwin64/home/Administrator/.ssh/id_rsa.pub asdyjd@192.168.2.4 拷贝
id_rsa.pub:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCyQ2GtkbKcFAP/kX/+65e91Q8EJ+twpyqjEBzlVmZ2mxy8Zw7b/AfeV60ehloCq7p521IGJaXWbr3bky7Jljc6x7cAZsRW7mZRPFelPYa5iJ4lIshU3RwhbTYW6RyrG+InF3ognJ7bggpPmJbWFxqqpZwdkEilpnv0+8b17frSbF1xaQQh57vDjG78xr0pys2MBzylqrs1RNiTcRz86zJT7SbujYY/bpiUB78w46CmRlwzHOk8Zg0hcegqSMHjboQyhkSX0xcFv2ZLHm5Gpfba3863M+62Q1r2U+QW5Ki1f3nsGwHWQIRuHNWldUzWKYRPsKJHVvwFwkYDG3sZZMWR ljf@meijiabaodeiMac.lan
know_hosts:ssh会把你每个你访问过计算机的公钥(public key)都记录在~/.ssh/known_hosts。当下次访问相同计算机时,OpenSSH会核对公钥。如果公钥不同,OpenSSH会发出警告, 避免你受到DNS Hijack之类的攻击。
将id_rsa.pub里的内容复制到:~/.ssh/authorized_keys
.ssh目录的权限为700
authorized_keys和私钥的权限为600
# -*- coding: utf-8 -*-
import os, sys
# HOME = os.environ['HOME']
ABSPATH = os.path.abspath(__file__)
SCRIPTDIR = os.path.dirname(ABSPATH)
BASENAME = os.path.splitext(os.path.basename(__file__))[0]
sys.path.insert(1, SCRIPTDIR)
# os.chdir(SCRIPTDIR)
from datetime import date
import paramiko
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('192.168.205.14',port=22,username='jinding',password='1324qewr')
sftp=paramiko.SFTP.from_transport(ssh.get_transport())
stdin, stdout, stderr = ssh.exec_command('tar czvf config.tar.gz bbtrdopt .zshrc .bashrc .bash_profile .tmux.conf.local .spacemacs .setenv .config .theme Projects .vimrc .vimrc.bundles .oh-my-zsh strats scripts --exclude=stock_relatedness.csv')
print stdout.read(), stderr.read()
sftp.get('config.tar.gz', 'd:/backup/{}.tar.gz'.format(date.today().strftime("%Y%m%d")))