SSH-远程管理服务

远程服务-SSH

1.远程管理服务介绍

(1)SSH是(Secure Shell Protocol)的简写,由IETF网络工作小组制定;在进行数据传输之前,SSH先对联机数据包通过加密技术进行机密处理,加密后在进行文件传输,确保了传递的数据安全。端口号是22(默认可以让root用户连接)


ssh抓包.png

(2)Telnet不安全的链接,数据传输是明文的,端口号是23(默认不可以让root用户连接)

telnet抓包.png

2.ssh远程管理服务远程连接的原理

(1)客户端:执行远程连接命令

(2)客户端:建立三次握手过程

(3)服务端:让客户端进行确认是否接受服务端的公钥信息

(4)客户端:进行公钥确认,接受到公钥信息

(5)服务端:让客户端确认用户密码信息

(6)客户端:进行密码信息确认

(7)远程连接建立成功

私钥和公钥的作用:

a.利用私钥和公钥对数据信息进行加密处理

b.利用公钥和私钥进行用户身份确认

基于密码的方式进行远程连接:公钥和私钥只能完成数据加密过程

基于私钥的方式进行远程连接:公钥和私钥可以完成认证身份的工作

ssh建立连接过程.png

3.ssh远程连接方式

(1)基于口令的方式进行远程连接:连接比较麻烦,连接不太安全

(2)基于秘钥的方式进行远程连接:连接方便,连接比较安全

基于秘钥方式连接过程(原理)

1.客户端(管理端) 执行命令创建秘钥对

  1. 客户端(管理端) 建立远程连接(口令),发送公钥信息

  2. 客户端(管理端) 再次建立远程连接

  3. 服务端(被管理端) 发送公钥质询信息

  4. 客户端(管理端) 处理公钥质询信息,将质询结果返回给服务端

  5. 服务端(被管理端) 接收到质询结果,建立好远程连接

4.ssh实现基于秘钥连接的部署

(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): 
Created directory '/root/.ssh'.
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:h/xJtYDRMWBQhA1KWk8bY3U2PKr13kJL/RqA0LEDVyM root@m01
The key's randomart image is:
+---[DSA 1024]----+
|    o OOE=O.     |
|   + =.O.O++     |
|  . . + =....    |
|       oo+ o .   |
|       oS.+..    |
|      .  ++o.    |
|         +oo..   |
|          + ...  |
|           ...   |
+----[SHA256]-----+

(2)管理端需要将公钥进行分发

[root@m01 ~]# ssh-copy-id -i /root/.ssh/id_dsa.pub 10.0.0.41
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_dsa.pub"
The authenticity of host '10.0.0.41 (10.0.0.41)' can't be established.
ECDSA key fingerprint is SHA256:l5Dqj1zZpxfY5PZZP3+40i4CdG2kw52NLl1PYL++bds.
ECDSA key fingerprint is MD5:3f:ea:c5:82:f7:c2:1d:63:54:da:1a:48:a3:ea:00:27.
Are you sure you want to continue connecting (yes/no)? yes
/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@10.0.0.41's password: 
​
Number of key(s) added: 1
​
Now try logging into the machine, with:   "ssh '10.0.0.41'"
and check to make sure that only the key(s) you wanted were added.

(3)被管理端检查公钥信息

[root@backup ~]# cat /root/.ssh/authorized_keys 
ssh-dss AAAAB3NzaC1kc3MAAACBAOrox0Ml74i6I1B1as0xg9wfpFNvpLGw673r0jciVYSpXXbn8LV8xK/UR90VcNnKH2Xfw5rPU/dX9on0HnaJW2lIMqzhmCCEigXotmO1q8Djbi10q2FLphpArmXdh7kcSW73JXsB+tP4LkvOuuq4kwZet6wnETcVVH7ocCglwMuDAAAAFQCLQz3xaSR/iu2ArrUK90fGivLJLQAAAIEA0dlRLq6gB34C7UMZXBwbxozzaAoabwYIltK7PtuAwkgF3Rt8aVSPxg5yEJOYwOWa0r5M6BnwpjUr/VwpI2NdZDhlI/T9Raw6Lnsutpl+RlgfJ8BKIJlA+ZnwL+p1AplOJzy29AV0SKwMsInDAb7TKy1z9E4hiYNVWWaUvXcNCKYAAACAYm6QX1/rksSjeWvy6HC9q1oyOj7J/13OJOc3zbv8KdO4rXJOV5sIKk+Mfce02rPeL4JN0yyRjBlCoUlSGZzsW9WD02Ndq50nDEHGDyKTKPSewqit7LFVeyeBq2bDR/190i50aHohmrnJSBgFvmpAeVlIp+nx99y/11D/r14rjCU= root@m01

(4)进行远程连接测试

[root@m01 ~]# ssh 10.0.0.41 hostname
backup

(5)免交互进行公钥分发

a.下载软件
[root@m01 ~/.ssh]#  yum install -y sshpass
[root@m01 ~/.ssh]# sshpass -p123456 ssh-copy-id -i /root/.ssh/id_dsa.pub root@10.0.0.41  -p22 "-o  StrictHostKeyChecking=no"

(6)批量分发公钥的脚本

#!/bin/bash
for ip in {7,31,41}
do 
echo "=============== fenfa pub_key with 172.16.1.$ip =============== "
sshpass -p123456 ssh-copy-id -i /root/.ssh/id_dsa.pub 172.16.1.$ip -o StrictHostKeyChecking=no &>/dev/null
if [ $? -eq 0 ]
then
 echo "公钥信息分发成功 [ok]" 
 echo ""
else
 echo "公钥信息分发失败 [failed]"
 echo ""
fi
done
[root@m01 ~/.ssh]# sh fenfa.sh 
=============== fenfa pub_key with 172.16.1.7 =============== 
公钥信息分发成功 [ok]
​
=============== fenfa pub_key with 172.16.1.31 =============== 
公钥信息分发成功 [ok]
​
=============== fenfa pub_key with 172.16.1.41 =============== 
公钥信息分发成功 [ok]

(7)对远程主机进行批量检查

#!/bin/bash
​
CMD=$1
​
for ip in {7,31,41}
do 
echo "=============== check pub_key with 172.16.1.$ip =============== "
ssh 172.16.1.$ip $CMD >/dev/null
if [ $? -eq 0 ]
then
 echo "分发测试检查成功 [ok]" 
 echo ""
else
 echo "公钥测试检查失败 [failed]"
 echo ""
fi
done
[root@m01 ~/.ssh]# 
[root@m01 ~/.ssh]# sh check.sh "ip a"
=============== check pub_key with 172.16.1.7 =============== 
分发测试检查成功 [ok]
​
=============== check pub_key with 172.16.1.31 =============== 
分发测试检查成功 [ok]
​
=============== check pub_key with 172.16.1.41 =============== 
分发测试检查成功 [ok]

5.SSH服务配置文件

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

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

Port 22  ------ssh端口(默认为22)
ListenAddress 0.0.0.0 ------监听地址(指定一块网卡接收远程访问的请求,指定的地址是本地网卡的ip地址)
PermitEmptyPasswords no ------否允许远程用户使用空密码登录(默认不允许)
PermitRootLogin yes ------是否允许root用户登录(建议关闭)
GSSAPIAuthentication no ------是否开启GSSAPI认证功能(建议关闭)
UseDNS no ------是否开启反向DNS解析功能 (建议关闭)

6.ssh远程连接安全防范思路

1.用密钥登录,不用密码登陆
2.牤牛阵法:解决SSH安全问题
a.防火墙封闭SSH,指定源IP限制(局域网、信任公网)
b.开启SSH只监听本地内网IP(ListenAddress 172.16.1.61)
3.尽量不给服务器外网IP
4.最小化(软件安装-授权)
5.给系统的重要文件或命令做一个指纹 /etc/passwd md5sum inotify /bin 监控
6.给文件上锁 chattr +i

7.ssh服务相关命令

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