学习记录014-ssh批量分发

时间:2022-09-27 16:14:32

一、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原理图

学习记录014-ssh批量分发

相关博文:http://oldboy.blog.51cto.com/2561410/1300964
(ssh连接慢的解决办法)
http://phenixikki.blog.51cto.com/7552938/1546669
(ssh被篡改的经历)

10.ssh -p22 kaka@192.168.3.110 或者执行ssh root3@192.168.3.110 /sbin/ifconfig 该命令可以直接看访问ip的ifconfig#该命令用来连接远程机器,如果连接不上,要么端口不对,要么网络有问题,如果第一次连接的时候,本地会产生一个密钥 ~/.ssh/known_hosts(可以多个)

二、ssh 客户端附带的远程拷贝 scp介绍

scp (secure copy的缩写) (remote file copy program)
用法: scp -P22 1.txt root2@192.168.3.111:/mnt/3.txt
                                                    源                目标

[oldgirl@localhost ~]$ scp -P22 root2@.txt .
root2@192.168.3.111's password:
.txt %  .0KB/s :
[oldgirl@localhost ~]$ ll
total
-rwxrwxrwx.  oldgirl oldgirl  Jul  : .txt
-rwxrwxr-x.  oldgirl oldgirl  Jul  : .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 root@192.168.11.1
上传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
 ]
then
echo "USGE:/bin/sh $0 argl"
exit
fi
for n in 110 111
do
ssh -P22 oldboy@.$n $
done

2.公钥和私钥匙(图)

学习记录014-ssh批量分发

[oldboy@kaka ~]$ ll ~/ -al
total
drwx------.  oldboy oldboy  Jul  : .
drwxrwxrwx.   oldgirl  Jul  : ..
-rw-------.  oldboy oldboy  Jul  : .bash_history
-rw-r--r--.  oldboy oldboy  Feb   .bash_logout
-rw-r--r--.  oldboy oldboy  Feb   .bash_profile
-rw-r--r--.  oldboy oldboy  Feb   .bashrc
drwxr-xr-x.  oldboy oldboy  Nov   .gnome2
drwxr-xr-x.  oldboy oldboy  Jun  : .mozilla
drwx------.  oldboy oldboy  Jul  : .ssh
[oldboy@kaka ~]$ ls -l .ssh/
total
-rw-------.  oldboy oldboy  Jul  : id_dsa #私钥
-rw-r--r--.  oldboy oldboy  Jul  : id_dsa.pub #公钥
[oldboy@kaka ~]$ ls -ld .ssh/
drwx------.  oldboy oldboy  Jul  : .ssh/ #权限700

3.分发公钥

ssh-copy-id -i .ssh/id_dsa.pub oldboy@192.168.3.110
如果是非默认端口:ssh-copy-id -i .ssh/id_dsa.pub "-p4355 oldboy@192.168.3.110"

4.成功结果
ssh oldboy@192.168.3.110 #直接登录不要密码

小结:
1.明白公钥私钥原理
2.ssh-copy-id 的原理:就是把.ssh/id_dsa.pub复制到192.168.3.110下面的.ssh目录(提前创建权限700),并且将名字改为authorized_keys(权限变为600)
3.免密码登录验证时单向的
4.基于用户的,最好不要跨不同的用户