40-综合架构-SSH远程服务及批量管理prsync

一、准备环境

m01 10.0.0.61
backup 10.0.0.41

二、远程连接工具

2.1 ssh

2.2 telnet服务

安装: yum install -y telnet-server
启动telnet:systemctl restart telnet.socket
  如:telnet root@10.0.0.61 23
本地shell
涉及工具:wireshark(windows+Linux)抓包/tcpdump(Linux)抓包
连接网站工具:
  http 超文本传输协议
  https 加密超文本传输协议

2.3 ssh与telnet服务的区别?

telnet也可以连接,但他的连接是明文,没有加密,端口为23
ssh的连接是加密的,端口默认为22

三、ssh相关软件

检查软件属于哪个软件包

rpm -qf `which ssh`-----openssh-clients-7.4p1-16.el7.x86_64
rpm -qf `which sshd`-----openssh-server-7.4p1-16.el7.x86_64

3.1 客户端命令:

1>ssh:ssh客户端 远程连接,远程执行命令
 参数:-p:指定远程服务器上的端口

例子1:远程连接到backup服务器

[root@m01 ~]# ssh 10.0.0.41 
root@10.0.0.41's password: 
Last login: Mon May 27 19:21:27 2019 from 10.0.0.61
[root@backup ~]# ll 
total 4
-rw-------. 1 root root 1565 May 26 15:37 anaconda-ks.cfg
[root@backup ~]# 

例子2:远程连接到指定端口,用参数-p

[root@m01 ~]# ssh -p22 10.0.0.41
root@10.0.0.41's password: 
Last login: Mon May 27 19:26:11 2019 from 10.0.0.61
[root@backup ~]# 

例子3:远程连接到指定端口执行个命令,执行完命令在回来

[root@m01 ~]# ssh -p22 oldboy@10.0.0.41 whoami
oldboy@10.0.0.41's password: 
oldboy
[root@m01 ~]# 

[root@m01 ~]# ssh -p22 root@10.0.0.41 ip a s eth1|awk -F'[ /]+' 'NR==3{print $3}'
root@10.0.0.41's password: 
172.16.1.41
[root@m01 ~]#

注:远程执行命令的时候,命令不要太长或太复杂,如果太复杂的话就远程执行脚本

2>scp:远程传输数据(加密)
 rcp:remote cp未加密
 参数:
  -P:指定远程主机的端口号
  -r:以递归方式,复制目录

[root@m01 ~]# scp -p22 /etc/hostname 10.0.0.41:/tmp
root@10.0.0.41's password: 
hostname                                                                                            100%    4     2.4KB/s   00:00    
[root@m01 ~]# 

3>sftp:上传或下载,相当于lrzsz(rz和sz)
  参数:-p:
  ssh-----shell
  sftp----xftp

①sftp远程连一下backup(10.0.0.41)服务器

[root@m01 ~]# sftp 10.0.0.41
root@10.0.0.41's password: 
Connected to 10.0.0.41.
sftp> pwd
Remote working directory: /root

②sftp将本地的/etc/hostname上传到backup服务器上的/tmp下

sftp> cd /tmp
sftp> pwd
Remote working directory: /tmp
sftp> put /etc/hostname
Uploading /etc/hostname to /tmp/hostname
/etc/hostname                   100%    4    10.7KB/s   00:00    

③sftp将backup服务器上的/etc/hostname下载到本地的/tmp下

sftp> get /etc/hostname /opt/
Fetching /etc/hostname to /opt/hostname
/etc/hostname                   100%    7    10.4KB/s   00:00    
sftp> bye    退出
[root@m01 ~]# 

④检查两边的数据是否正常

\\backup服务器
[root@backup /tmp]# cat /tmp/hostname 
m01
[root@backup /tmp]# 
\\m01
[root@m01 ~]# cat /opt/hostname 
backup
[root@m01 ~]# 

四、ssh服务端的配置文件

4.1 ssh服务端配置文件:/etc/ssh/sshd_config

Port 22:指定端口号
PermitRootLogin yes:是否禁止root远程登陆
PasswordAuthentication yes:是否开启通过密码登录(认证)(以后开启密钥认证再改)
PermitEmptyPasswords no:是否准许空密码
解决ssh远程连接慢的问题:
  GSSAPIAuthentication no
  UseDNS no
ListenAddress:监听的地址,用户可以通过哪个IP地址远程连接(监听本地网卡的IP地址)

[root@m01 /tmp]# grep 'ListenAddress' /etc/ssh/sshd_config 
ListenAddress 10.0.0.61:52213
ListenAddress 172.16.1.61:22

[root@m01 /tmp]# ss -lntup |grep ssh
tcp    LISTEN     0      128    10.0.0.61:52213                 *:*                   users:(("sshd",pid=22708,fd=4))
tcp    LISTEN     0      128    172.16.1.61:22                    *:*                   users:(("sshd",pid=22708,fd=3))

[root@backup ~]# ssh -p22 172.16.1.61
root@172.16.1.61's password: 
Last login: Mon May 27 11:31:06 2019 from 10.0.0.41
[root@backup ~]# ssh -p52213 10.0.0.61
root@10.0.0.61's password: 
Last login: Mon May 27 11:42:59 2019 from 172.16.1.41
[root@m01 ~]# 

4.2 ssh客户端配置文件:/etc/ssh/ssh_config

五、SSH认证方式

5.1 密码认证

5.2 秘钥认证

免密码认证
信任登录

1>创建秘钥认证:

##创建秘钥对  
[root@m01 ~]# ssh-keygen -t dsa 
Generating public/private dsa key pair.
Enter file in which to save the key (/root/.ssh/id_dsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_dsa.
Your public key has been saved in /root/.ssh/id_dsa.pub.
The key fingerprint is:
SHA256:VW1UamyTZ0YDIHQxi00U7DrtJAX/BN0k5cbuhNRRA58 root@m01
The key's randomart image is:
+---[DSA 1024]----+
|        .ooO**BB=|
|         .*+ooO==|
|         .=o.oBE+|
|         . +.++= |
|        S + o. o |
|         + o .o  |
|          =    . |
|           .     |
|                 |
+----[SHA256]-----+

2>检查 秘钥

[root@m01 ~]# ll ~/.ssh/
total 12
-rw------- 1 root root 668 May 27 12:13 id_dsa
-rw-r--r-- 1 root root 598 May 27 12:13 id_dsa.pub
-rw-r--r-- 1 root root 695 May 27 11:22 known_hosts

3>客户端发送公钥

[root@m01 ~]# ssh-copy-id -i ~/.ssh/id_dsa.pub  172.16.1.41 
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_dsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@172.16.1.41's password: 

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh '172.16.1.41'"
and check to make sure that only the key(s) you wanted were added.

4>测试客户端是否可以免密连接

[root@m01 ~]# ssh 172.16.1.41 hostname 
backup

六、批量管理

安装软件:yum install -y sshpass pssh

1>xshell
2>pssh(epel源):多台服务器同时远程的执行相同的目录或脚本
参数
   -h:指定要管理机器的hosts列表,即文件,内容格式“[user@]host[:port]”
  -P:打印出服务器返回信息
  -A:手动输入密码模式

批量并行执行命令

1>创建一个文件,写入要连接的ip和端口

[root@m01 ~]# cat hosts.txt 
root@172.16.1.41:22
root@172.16.1.7:22

2>然后用pssh执行一条命令,看是否执行成功

[root@m01 ~]# pssh -Ph hosts.txt hostname 
172.16.1.41: backup
[1] 12:42:51 [SUCCESS] root@172.16.1.41:22
172.16.1.7: web01
[2] 12:42:51 [SUCCESS] root@172.16.1.7:22

3>prsync:批量的发送脚本
参数:
  -A:手动输入密码模式
  -h:指定要管理机器的hosts列表,即文件内容格式“[user@]host[:port]”
  -v:显示过程

[root@m01 ~]# prsync -avh hosts.txt /etc/hostname /tmp/
[1] 18:46:59 [SUCCESS] root@172.16.1.41:22
[2] 18:46:59 [SUCCESS] root@172.16.1.7:22

[root@m01 ~]# prsync -A -azh  hosts.txt   /etc/hostname  /tmp/
Warning: do not enter your password if anyone else has superuser
privileges or access to your account.
Password: 
[1] 12:52:11 [SUCCESS] root@172.16.1.41:22
[2] 12:52:11 [SUCCESS] root@172.16.1.7:22
[root@m01 ~]# 

最后测试172.16.1.41和172.16.1.7两主机的/tmp/是否有hosts.txt

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342

推荐阅读更多精彩内容