FTP 20/21 明文协议,文件传输协议,基于TCP
SSH 22 安全外壳协议,远程连接,加密
Telnet 23 明文协议,远程连接
SMTP 25 简单邮件传输协议,基于 TCP
DNS 53
DHCP 67/68/546 动态主机设置协议,C(67),S(68),546(V6)
TFTP 69 简单文件传输协议,基于UDP
HTTP 80 超文本传输协议
SNMP 161/162 简单网络管理协议,基于UDP
HTTPS 443 超文本传输安全协议
Rsync 873
Redis 6379
Zabbix 10050 10051
SSH:
加密传输
支持root登录
远程连接服务
Telnet:
明文传输
不支持root登录(需要创建普通用户)
远程连接、路由器、交换机
安装和启动telnet服务
安装telnet服务:
[root@backup ~]# yum -y install telnet-server
启动telnet服务:
[root@backup ~]# systemctl start telnet.socket
创建一个普通用户,用于测试
远程连接 telnet 不支持root 添加一个普通用户
[root@backup ~]# useradd oldboy
[root@backup ~]# echo 1|passwd --stdin oldboy
windows远程连接
telnet 10.0.0.41
输入用户:oldboy
输入密码:1
1.提供远程连接服务器的服务、2.对传输的数据进行加密
用xshell远程登录方式
第一种使用方式
ssh 10.0.0.41(取决于当前执行此命令的用户)
连接过程中 需要输入用户名和密码信息
第二种使用方式(标准写法)
ssh [email protected]
连接过程中只需要密码
第三种使用方式(带端口的方式 端口不是默认的22了)
修改ssh端口在尝试ssh远程连接
[root@backup ~]# systemctl restart sshd
[root@backup ~]# grep Port /etc/ssh/sshd_config
#Port 22
Port 2222
ssh [email protected] 2222
第四种连接方式
指定端口方式远程连接服务器 Linux -----------> Linux服务器
使用-p 参数指定端口号
ssh [email protected]
小提示:
windows—> Linux
ssh [email protected] # 默认连接22端口
ssh [email protected] 2222 # 指定端口连接
Linux----> Linux
ssh [email protected] # 默认连接22端口
ssh -p2222 [email protected] # 指定端口连接
scp是覆盖式、增量的,与rsync远程传输方式类似
(1) scp的一些参数
-P 指定端口,默认22端口可不写
-r 表示递归拷贝目录
-p 表示在拷贝文件前后保持文件或目录属性不变
-l 限制传输使用带宽(默认kb) /8 ->KB /1024 ->MB
(2)scp获取、下载
[root@backup ~]# scp [email protected]:/etc/exports ./
(3)scp推送、上传
[root@backup ~]# scp exports [email protected]:/tmp/
(4)限速上传的速度
带宽默认kb 80960kb➗8=10120KB➗1024=10MB
带宽为20Mb,下载速度为2.50MB/s
[root@backup ~]# scp -l 40960 1.txt [email protected]:/tmp
[email protected]'s password:
1.txt 100% 300MB 5.1MB/s 00:59
小提示:
不管是上传文件还是目录都带上-r这样就不会错了
[root@backup ~]# scp -rp 1.txt [email protected]:/tmp
rz 和 sftp
rz 拷贝文件效率高,不支持超过4个G以上的文件不支持断点续传
sftp 远程传输,特别适合拷贝大文件。
ssh提供的客户端命令:
ssh 远程连接 (非常重要)
scp 远程拷贝 (非常重要) 和 rsync的远程传输方式一模一样
(1)scp通过ssh协议加密方式进行文件或目录拷贝。
(2)scp连接时的用户作为为拷贝文件或目录的权限。
(3)scp支持数据推送和拉取,每次都是全量拷贝,效率较低。
sftp 远程传输 (一般般) Xftp
xftp工具里面使用的是sftp协议
(1)生成密钥对,公钥、私钥
[root@m01 ~]# ssh-keygen -C [email protected] (-C可不加)
Enter file in which to save the key (/root/.ssh/id_rsa):按回车 ---存放在当前用户的.ssh/id_rsa
Enter passphrase (empty for no passphrase):按回车 ---问是否给当前密钥设置密码,不需要
-t是指定类型(可以省略不写) -C是说明信息
(2)将公钥推送到你需要连接的主机,第一次需要输入对端主机的密码
[root@m01 ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
这个-i 选项值得是你所要推送公钥的位置在哪里,推动到对方的/root/.ssh/authorized.keys这个文件里面
(3)通过ssh命令测试连接是否需要密码
[root@m01 ~]# ssh 172.16.1.31
Last login: Wed Jan 9 10:39:16 2019 from 172.16.1.61
[root@nfs ~]#
切换用户成功了
SSH作为远程连接服务,通常我们需要考虑到该服务的安全,所以需要对该服务进行安全方面的配置。
1.更改远程连接登陆的端口 6666
2.禁止ROOT管理员直接登录
3.密码认证方式改为密钥认证
4.重要服务不使用公网IP地址
5.使用防火墙限制来源IP地址
以上的安全策略需要修改服务端的ssh的配置文件/etc/ssh/sshd_config ,把上面的内容写在配置文件的上面,写在下面不会生效。
Port 6666 # 变更SSH服务远程连接端口√
PermitRootLogin no # 禁止root用户直接远程登录√
PasswordAuthentication no # 禁止使用密码直接远程登录√
UseDNS no # 禁止ssh进行dns反向解析,影响ssh连接效率参数√
GSSAPIAuthentication no # 禁止GSS认证,减少连接时产生的延迟√
(1)禁止root用户远程登录,只要在配置文件中配置了,所以要创建普通用户,把xshell生成的公钥,放在oldboy用户的.ssh/authorized_keys中,注意.ssh的权限是700,authorized的权限是600。
注意: 在公司中root在/etc/sudoers 或者执行命令visudo在配置文件中书写
oldboy ALL=(ALL) NOPASSWD:/bin/su 用xhell中秘钥的形式登上普通用户后,执行sudo su - 直接切换到root
创建好之后,可以在这里查看
(2)xhell生成的公钥粘贴复制到/home/oldboy/.ssh/authorized_keys
(3) 这样跳板机用oldboy通过公钥的方式进行连接,因为在/etc/ssh/sshd_conf配置文件中设置了不允许密码登录,禁止root不能远程登录。这是用秘钥的方式登录到普通用户的oldboy,直接用sudo su - 的方式直接登录
监听地址: 监听本地的哪个IP 我的服务要运行在哪个IP地址上
0.0.0.0 表示网卡的所有地址 127.0.0.1 172.16.1.41 10.0.0.41
yum -y install expect
[root@backup ~]# cat test.ex
#!/usr/bin/expect
set ip 10.0.0.31
set pass 1
set timeout 30
spawn ssh root@$ip
expect {
"(yes/no)" {send "yes\r"; exp_continue}
"password:" {send "$pass\r"}
}
interact
yum -y install sshpass
sshpass -p 123456 ssh [email protected]
(1)echo nneettssttaatt --llnnttpp|sed -r ‘s#(.)(.)#\1#g’ 去重
(2)网络设备用telnet不用加密,网络的设备都是内部网络调试的。 xshell工具还是调用底层的ssh命令 ssh 10.0.0.41 22
(3) 在Linux的客户端使用命令:ssh 172.16.1.31 远程登录的用户是谁,取决于当前用户是谁
建议还是加上ssh [email protected]
(4)对外访问的服务器尽量改ssh的端口号,内网的为了方便
连接不用修改ssh的端口号
(5) 小文件的传输非常影响带宽,建立了很多次的tcp连接,所以
把小文件打包压缩,在进行传输就非常快了
(6)scp -r 选项是用来传输目录的,不管是不是加上-r选项,这样就不会报错。csp连接时需要知道用户的密码,不安全,拷贝的
效率非常低
(7)修改网卡小技巧 sed ‘s#200#61#g’ /etc/sysconfig/network-scripts/ifcfg-eth[01]
先看一下,然后再加上选项-i
(8)ifdown eth1 && ifup eth1 重启网卡
(9)ssh [email protected]
再ssh配置文件中(/etc/ssh/sshd_config),如果禁止root登录,那么登陆完普通用户之后,能su - root吗???可以
(10)写配置文件的最上面,这样才能生效
改完端口之后 10.0.0.61 6666 再window不用加-p参数!!!! 再xshell中需要使用-p指定端口号,如果不写则默认是22端口
(11).ssh的服务权限是700 ,这样才能正常连接免密,authorized.keys的文件权限是600