1.2 今日内容
第2个部分-集群批量管理与维护。
基础:
SSHD服务配置文件。
ssh客户端命令:ssh,scp,sftp。
ssh密钥认证(免密码登录,双机互信)。
Ansible批量分发,批量管理,批量维护与部署。
2. 综合架构-第4个-SSHD服务
2.1 openssh服务
- 实现加密的远程连接/传输数据。
- openssh-server 服务端 (sshd,/etc/ssh/sshd_config)。
- openssh-clients客户端命令 scp,ssh
2.2 telnet vs openssh
共同点 | 区别 | 应用场景 | |
---|---|---|---|
openssh 服务 | 远程连接 | 数据加密的 | 默认使用openssh |
telnet 服务 | 远程连接 | 数据未加密 | 升级openssh服务的时候,启动telnet服务即可 |
- telnet服务
#安装服务
yum install -y telnet-server。
#启动。
systemctl disable telnet.socket。
systemctl start telnet.socket。
#本地shell中连接。
telnet 10.0.0.61 23。
- 核心配置文件:/etc/ssh/sshd_config
Openssh服务端配置详解 | |
---|---|
连接加速 | |
UseDNS no | 是否开启反向解析:ip ==> 域名或主机名 |
GSSAPIAuthenticationno | GSS认证功能关闭 |
安全优化项目 | |
Port | 默认是Port 22 端口范围1-65535 推荐1w以上的端口 |
PermitRootLogin | 禁用root用户 远程 登录权限。 默认是yes(可以让root远程登录) (ubuntu系统中默认是no) 使用建议:先添加普通用户配置sudo权限,然后再禁用。 |
ListenAddress | 监听的地址(后面需要指定本地网卡的ip地址) 可以控制用户只能通过内网访问,应用建议:一般配合着堡垒机,vpn |
操作建议:未来可以设置公网的端口与局域网端口不同(内外网端口分离)。
ListenAddress 0.0.0.0:52113 52113 无论局域网还是公网 #表示ssh都可以使用
ListenAddress 172.16.1.61:22 #表示ssh只有在172.16.1.61 局域网可以使用22端口
2.5 Openssh-Clients客户端命令
scp 远程传输文件。
ssh 远程连接。
sftp 远程传输文件(一般开发通过图形化界面使用ftp工具)。
1) scp ⭐⭐⭐⭐⭐
scp 文件/目录 用户名@ip:路径。
-r 递归传输,传输目录。
-p 保持属性信息不变。
-P(大写) 指定端口号。
案例:将文件/etc/hostname发送到10.0.0.41的根目录下
scp -rp -P 22 /etc/hostname root@10.0.0.41:~
2) ssh ⭐⭐⭐⭐⭐
功能:
- 远程连接。
- 远程连接并执行命令或脚本。(不要执行交互式命令)。
案例01: 使用test用户远程连接到10.0.0.41的22端口。
ssh -p 22 test@10.0.0.41
案例02: 使用test用户远程连接到10.0.0.41的22端口并执行whoami命令或ip a 命令。
ssh -p 22 test@10.0.0.41 whoami
案例03: 远程连接10.0.0.31节点并执行多条命令:whoami , pwd, hostname命令。
ssh -p22 nfs01 "whoami && pwd && hostname -I "
ssh -p22 nfs01 "whoami ; pwd ; hostname -I "
&& 并且,命令行中表示前一个命令执行成功再执行后面的命令。
; 分号,分隔命令。相当于是1行的结束。
3) sftp
ftp文件传输协议,服务和客户端,服务端端口是21和20。
openssh (sshd)也提供了,ftp功能,sftp,端口是22。
ftp客户端:常用sftp命令,软件xftp,winscp…如果上传大文件建议使用ftp或scp。