一、ssh服务介绍
1.ssh安全的加密协议用于远程连接服务器
2.默认端口是22,安全协议版本ssh2,它能同时支持RSA和DSA秘钥,SSH1只支持RSA
3.服务端主要包含两个服务功能ssh远程连接,SFTP服务
4.ssh客户端包含ssh连接命令,以及远程拷贝scp命令
5.SSH服务由 服务端软件OpenSSH 和客户端SSH(putty等)
6.Pivate key 和Public key 私钥和公钥
7.配置文件 /etc/ssh/sshd_config中有d表示服务端,没d代表客户端
8.ssh服务的认证类型:基于口令的安全验证,基于密钥的验证
9.lsof -i :22 或者netstat -lntup|grep 22 给你端口号,查询端口号有什么服务
10.ssh1.x原理图
相关博文:http://oldboy.blog.51cto.com/2561410/1300964
(ssh连接慢的解决办法)
http://phenixikki.blog.51cto.com/7552938/1546669
(ssh被篡改的经历)
10.ssh -p22 [email protected] 或者执行ssh [email protected] /sbin/ifconfig 该命令可以直接看访问ip的ifconfig#该命令用来连接远程机器,如果连接不上,要么端口不对,要么网络有问题,如果第一次连接的时候,本地会产生一个密钥 ~/.ssh/known_hosts(可以多个)
二、ssh 客户端附带的远程拷贝 scp介绍
scp (secure copy的缩写) (remote file copy program)
用法推和拉: scp -P22 1.txt [email protected]:/mnt/3.txt
源 目标
[[email protected] ~]$ scp -P22 [email protected]192.168.3.111:/mnt/3.txt . [email protected]192.168.3.111‘s password: 3.txt 100% 22 0.0KB/s 00:00 [[email protected] ~]$ ll total 8 -rwxrwxrwx. 1 oldgirl oldgirl 22 Jul 10 01:23 1.txt -rwxrwxr-x. 1 oldgirl oldgirl 22 Jul 10 01:27 3.txt
相关博文:
scp排错(Permission denied两例)http://www.360doc.com/content/13/0929/13/6496277_317840402.shtml
http://www.linuxidc.com/Linux/2015-11/125214.htm
三、ssh服务附带的sftp功能服务
1.sftp -oPort=22 [email protected]
上传put 加客户端本地路径,也可以指定路径上传,put /etc/hosts/tmp
下载get服务端的内容,下载到本地的当前目录
2.windows中的sftp用法
用的是SecureCRT客户端,点击页面的左上角的文件中的连接SFTP标签页,进入页面进行编辑,运用put "D:\1.txt”来上传文件,或者get "XX" get之后的路径在选项中的会话选项中的SFTP标签页中的目录。
SecureCRT客户端使用小技巧:http://blog.csdn.net/jinshuaiwang/article/details/40424039
四、批量分发
需求:要求所有服务器在同一用户oldboy系统用户下,实现A机器从本地分发数据到B机器上,在分发过程中不需要提示系统密码验证。除了分发还需要可以批量查看客户机上的CPU,LOAD,MEM,系统版本等使用信息。
1.ssh-keygen -t dsa 中-t参数指建立指建立密钥的类型,这里指建立dsa类型,也可以执行
ssh-keygen -t rsa 建立rsa类型
rsa和dsa的区别
rsa:是一种加密算法,是由Ron Rivest Adi shamir 和Leonard Adleman这三个人的名字的第一个字母组成
dsa:就是数字签名算法的英文全称的简写,即Digital Signature Algorithm
批量分发脚本:
#!/bin/sh if [ $# -ne 1 ] then echo "USGE:/bin/sh $0 argl" exit 1 fi for n in 8 9 do ssh -P22 [email protected]192.168.3.$n $1 done
2.公钥和私钥匙(图)
[[email protected] ~]$ ll ~/ -al total 36 drwx------. 5 oldboy oldboy 4096 Jul 10 19:54 . drwxrwxrwx. 9 777 oldgirl 4096 Jul 10 10:47 .. -rw-------. 1 oldboy oldboy 7 Jul 10 11:12 .bash_history -rw-r--r--. 1 oldboy oldboy 18 Feb 21 2013 .bash_logout -rw-r--r--. 1 oldboy oldboy 176 Feb 21 2013 .bash_profile -rw-r--r--. 1 oldboy oldboy 124 Feb 21 2013 .bashrc drwxr-xr-x. 2 oldboy oldboy 4096 Nov 11 2010 .gnome2 drwxr-xr-x. 4 oldboy oldboy 4096 Jun 24 02:43 .mozilla drwx------. 2 oldboy oldboy 4096 Jul 10 19:54 .ssh [[email protected] ~]$ ls -l .ssh/ total 8 -rw-------. 1 oldboy oldboy 668 Jul 10 19:54 id_dsa #私钥 -rw-r--r--. 1 oldboy oldboy 601 Jul 10 19:54 id_dsa.pub #公钥 [[email protected] ~]$ ls -ld .ssh/ drwx------. 2 oldboy oldboy 4096 Jul 10 19:54 .ssh/ #权限700
3.分发公钥
ssh-copy-id -i .ssh/id_dsa.pub [email protected]
如果是非默认端口:ssh-copy-id -i .ssh/id_dsa.pub "-p4355 [email protected]"
4.成功结果
ssh [email protected] #直接登录不要密码
小结:
1.明白公钥私钥原理
2.ssh-copy-id 的原理:就是把.ssh/id_dsa.pub复制到192.168.3.110下面的.ssh目录(提前创建权限700),并且将名字改为authorized_keys(权限变为600)
3.免密码登录验证时单向的
4.基于用户的,最好不要跨不同的用户