目录
1 openssh 特点
- 实现加密的远程连接/数据传输
- openssh-server 服务器 (sshd, /etc/sshd_config)
- openssh-client 客户端命令 (scp, ssh)
2 Telnet vs Openssh
共同点 | 区别 | 应用场景 | |
openssh 服务 | 远程连接 | 数据是加密的 | 默认使用openssh |
telnet 服务 | 远程连接 | 数据是未加密的 | 升级 openssh 服务时,启动 telnet 服务 |
安装 Telnet 服务
步骤 1 :安装服务
yum install -y telnet-server
步骤 2 :启动服务,关闭自启动
systemctl disable telnet.socket
systemctl start telnet.socket
步骤 3 :连接设备
telnet root@10.0.0.41
3 Openssh - server 配置文件
3.1 核心文件位置
/etc/ssh/sshd_config
3.2 配置详解
连接加速 | |
UseDNS no | 是否开启反向解析:ip 向 域名或主机名 |
GSSAPIAuthentication no | GSS 认证功能关闭 |
安全优化项目 | |
Port | 默认是Port 22 端口范围1-65535 推荐1w以上的端口 |
PermitRootLogin | 禁用 root 用户远程登录权限. 默认是 yes(能让root远程登录)(ubt系统中默认是no)使用建议:先添加普通用户配置sudo权限,然后再禁用. |
ListenAddress | 监听的地址(后面需要指定本地网卡的ip地址) 可以控制用户只能通过内网访问,应用建议:一般配合着堡 垒机,vpn. |
操作建议:未来可以设置公网的端口与局域网端口不同(内外网端口分离)。
#表示ssh都可以使用 52113 无论局域网还是公网 ListenAddress 0.0.0.0:52113 #表示ssh只有在 172.16.1.61 局域网可以使用22端口 ListenAddress 172.16.1.61:22 ssh root@172.16.1.61 ssh -p 52113 root@10.0.0.41 ssh -p 22 root@10.0.0.41
4 Openssh - client 客户端
4.1 命令介绍
- scp 远程传输文件
- ssh 远程连接
- sftp 远程传输文件(一般开发通过图形化界面使用ftp工具)
4.1.1 scp
格式:“scp 文件/目录 用户名@ip:路径”
-r 递归传输,传输目录
-p 保持属性信息不变
-P 指定端口号
#范例
scp -rp -P 22 /etc/hostname root@10.0.0.41:/tmp/
4.1.2 ssh
功能:
- 远程连接
- 远程连接并执行命令或者脚本(不要执行交互式命令)
# 案例1:使用普通用户远程连接到10.0.0.41的22端口
ssh -p 22 cherry@10.0.0.41
# 案例02:使用普通用户远程连接到10.0.0.41的22端口并执行 whoami 命令或 ip a 命令
ssh -p 22 oldboy@10.0.0.41 whoami
# 案例3:远程连接10.0.0.31节点并执行多条命令:whoami , pwd, hostname命令
ssh -p22 nfs01 "whoami pwd hostname -I "
ssh -p22 nfs01 "whoami ; pwd ; hostname -I "
注意:“&&” 并且,命令行中表示前一个命令执行成功再执行后面的命令。
“;” 分号,分隔命令,相当于是1行的结束。
4.1.3 sftp
- ftp 文件传输协议,服务和客户端,服务端端口是21和20。
- openssh (sshd)也提供了 ftp 功能,sftp端口是22。
- ftp 客户端:常用 sftp 命令,软件xftp、winscp....
Tips:如果上传文件过大还是建议适应 ftp 或者 scp。