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
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
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/
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用户登录的目录限制到指定的目录。
登陆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、密钥认证()
创建钥匙和锁,钥匙开锁,
钥匙放到客户端本地,锁放在服务器上。
拿钥匙就可以连接服务器开锁,实现登录连接了。
批量管理,就是密钥认证。
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