python使用paramiko模块ssh远程linux服务器,linux服务器已经使用公钥认证免密码登陆,请问怎么写?
1. 可密码、公私钥认证,实现sftp文件上传下载
2. 脚本见:https://github.com/kute/purepythontest/blob/master/test/netease/scripts/sftp_downloader.py
3. 使用:
a. 显示命令行帮助:python sftp_downloader.py -h
b. 运行:python sftp_downloader.py -u zhangsan -p password -pk my-openssh-private-key -sf my-server-list-file-path -srcf the-file-name-to-be-download -dd the-file-dir-to-save –vote
c. 可把 b中的命名设置成alias(windows平台我用的Cmder终端,可设置alias),使用就简单了
4. 脚本说明:
a. argparse模块 使用接收命令行参数,然后分别设置 –vote –tie –follow来区分要下载不同类型的服务器日志与传不同的日志路径
b. easylog模块,自己封装的日志模块
c. gevent,对文件中的多个服务器地址使用协程 来加快下载
d. paramiko模块,核心使用,ssh连接认证
e. 只封装了下载,上传、执行服务器命令等可以自己再扩展
d. 当前只是为了满足方便使用,有很多地方可以调和纠错,指正。
sftp是什么意思呢?
sftp是SSH File Transfer Protocol的缩写,安全文件传送协议。可以为传输文件提供一种安全的网络的加密方法。
sftp 与 ftp 有着几乎一样的语法和功能。SFTP 为SSH的其中一部分,是一种传输档案至 Blogger 伺服器的安全方式。其实在SSH软件包中,已经包含了一个叫作SFTP(Secure File Transfer Protocol)的安全文件信息传输子系统,SFTP本身没有单独的守护进程,它必须使用sshd守护进程(端口号默认是22)来完成相应的连接和答复操作,所以从某种意义上来说,SFTP并不像一个服务器程序,而更像是一个客户端程序。
SFTP同样是使用加密传输认证信息和传输的数据,所以,使用SFTP是非常安全的。但是,由于这种传输方式使用了加密/解密技术,所以传输效率比普通的FTP要低得多。
linux的xftp默认端口?
linux的默认的sftp端口号22。
同时,如果其他的sftp服务器的端口号修改之后,可以通过-P来指定要通过哪个端口号连接。
例如,XFtp使用sftp,sftp的默认端口是22,实际sftp使用的是sshd进程的端口(22号端口)。
ftp的端口号20、21的区别一个是数据端口,一个是控制端口,控制端口一般为21,而数据端口不一定是20,这和FTP的应用模式有关,如果是主动模式,应该为20,如果为被动模式,由服务器端和客户端协商而定。
windows服务器用sftp采集文件的主机?
1、要进行文件传输wincscp的文件协议需要是sftp。并且,linux系统要支持sftp协议。其次检查winscp登录协议是否使用SFTP。
2、启动linux的sftp:执行命令/etc/init.d/sshdstart注意这里需要在绝对路径下执行sshdstart。