SSH 批量管理 SCP sftp

批量管理:
Ssh Key,expect(sshpass),ansible,Saltstack,puppet,cfengine
 
SSHD是什么?
远程连接的工具,我们常用于连接linux/unix等。
Security Shell Protocol Daemon
 
Security Shell Protocol(SSH)
 
默认的端口 22
 
服务端软件:openssh,openssl
客户端软件:SecureCRT,xshell,putty,ssh
 
sshv1和sshv2
 
常用v2
ssh功能:
1、远程连接(加密的)。
2、scp(Security copy),远程拷贝
3、sftp(Security ftp),远程文件传输
4、ssh客户端命令
 
 
 SSH连接慢解决:
http://oldboy.blog.51cto.com/2561410/1300964
 

密钥存放位置

 

1.1.6 ssh客户端附带的远程拷贝scp命令
scp的基本语法使用:scp - secure copy (remote file copy program)
每次都是全量拷贝,增量拷贝rsync
推:PUSH
scp -P22 -r -p /tmp/oldboy oldboy@10.0.0.143:/tmp

拉:PULL
scp -P22 -rp root@10.0.0.7:/tmp/oldboy /opt/

 

 

 

  linux sftp客户端连接sftp服务器方法
登陆FTP的方法就是sftp oldboy@10.0.0.142 如果ssh端口为52113则登陆命令为如下:
[root@A ~]# sftp  -oPort=52113 oldboy@10.0.0.142   #特殊端口的sftp连接命令
Connecting to 10.0.0.142...
oldboy@10.0.0.142's password: 
sftp> cd /home/oldboy #还可以象命令行那样切到目标目录
sftp> put /etc/hosts  #把/etc/hosts从客户端本地传到sftp服务器当前连接目录,即/home/oldboy   
Uploading /etc/hosts to /home/oldboy/hosts
/etc/hosts                                              100%  192     0.2KB/s   00:01               
sftp> ls -l /home/oldboy #还可以象系统命令行那样查看目录内容
-rw-r--r--    1 oldboy   oldboy        192 Nov 22 06:12 hosts
-rw-r--r--    1 oldboy   oldboy     362031 Feb 23  2006 services
sftp> put /etc/hosts  /tmp/   #把/etc/hosts从客户端本地传到sftp服务器指定的目录/tmp
Uploading /etc/hosts to /tmp/hosts
/etc/hosts                                         100%  192     0.2KB/s   00:00    
sftp> mkdir /tmp/ett #也可以创建目录
sftp> put /root/getmysql.sh /tmp/ett
Uploading /root/getmysql.sh to /tmp/ett/getmysql.sh
/root/getmysql.sh                                           100%  262     0.3KB/s   00:00    
sftp> ls -l /tmp/ett      
-rw-r--r--    1 oldboy   oldboy        262 Nov 22 06:14 getmysql.sh
sftp> cd /home/oldboy
sftp> get services /opt
Fetching /home/oldboy/services to /opt/services
/home/oldboy/services                                        100%  354KB 353.6KB/s   00:00    
sftp> ls -l /opt #咿,怎么/opt目录下没有呢,明明提示Fetching /home/oldboy/services to /opt/services
了啊?呵呵,原因是,当你联机sftp后,执行ls -l /opt实际是是在查看,sftp server的/opt目录,而不是客户端本地的/opt。
sftp> get services #下载数据
Fetching /home/oldboy/services to services
/home/oldboy/services                                         100%  354KB 353.6KB/s   00:00    
sftp> quit
[root@A ~]# ls -l|grep services 
-rw-r--r-- 1 root root 362031 Nov 22 05:55 services
[root@A ~]# ls -l /opt
total 364
-rw-r--r-- 1 root root 362031 Nov 22 05:53 services
老男孩教 2016/6/5 10:53:17

sftp命令小结:
1、 linux下连接命令sftp  -oPort=52113 oldboy@10.0.0.142
2、 上传put加客户端本地路径put /etc/hosts,
也可以指定路径上传put /etc/hosts /tmp(安全风险,需要控制,作业)
3、 下载get服务端的内容get hosts,linux下载到本地连接前的目录,
也可以指定路径下载,get hosts /etc/
4、连接到的远端家目录为默认目录,也可以切换到其他有权限的目录下。
老男孩教 2016/6/5 10:53:44

可选课后作业:如何把sftp用户登录的目录限制到指定的目录。
 
 ssh服务认证类型:
1、口令,密码
2、密钥认证()
   创建钥匙和锁,钥匙开锁,
   钥匙放到客户端本地,锁放在服务器上。
   拿钥匙就可以连接服务器开锁,实现登录连接了。
   批量管理,就是密钥认证。 
 
ssh服务:
/etc/ssh/sshd_config
/etc/init.d/sshd start|reload
 
man ssh 客户端使用
man sshd_config
 
ssh服务优化:
sed -ir '13 iPort 52113\nPermitRootLogin no\nPermitEmptyPasswords no\nUseDNS no\nGSSAPIAuthentication no'  /etc/ssh/sshd_config

 

 

posted @ 2018-03-08 13:13  秋天的风吹过原野  阅读(445)  评论(0编辑  收藏  举报