引言:SSH是一种安全通道协议,主要用来实现字符界面的远程登录、远程复制等。
一、SSH远程管理
1、SSH协议
-
是一种安全通道协议。
-
对通信数据进行了加密处理,用于远程管理。
优点:
- 数据传输是加密的,可以防止信息泄露。
- 数据传输是压缩的,可以提高传输速度。
2、openSSH服务器配置文件
- 服务名称:sshd。
- 服务端主程序:/usr/sbin/sshd。
- 服务端配置文件:/etc/ssh/sshd_config。
- 客户端配置文件:/etc/ssh/ssh_config。
3、服务配置
- 端口号、协议版本、监听IP地址
- 禁用反向解析
sshd 服务使用的默认端口号为22,必要时建议修改此端口号,并指定监听服务的具体 IP 地址,以提高在网络中的隐蔽性。禁用 DNS 反向解析可以提高服务器的响应速度。
vim /etc/ssh/sshd_config
Port 22 #监听端口22
ListenAddress 0.0.0.0 #监听地址为0.0.0.0表示全部监听
Protocol 2 #使用SSHv2的版本
UseDNS no #禁用DNS反向解析
systemctl restart sshd #重启sshd服务
当有人使用 SSH 登入系统的时候,SSH 会记录信息,这个信息要记录的类型为AUTHPRIV,sshd 服务日志存放在:/var/log/secure
(1)进入配置文件,添加一个1912端口
(2)通过1912端口访问
4、用户登录控制,安全调优
- 禁用root用户、空密码用户
- 限制登录验证时间、重试次数
- AllowUsers、DenyUsers
vim /etc/ssh/sshd_config #修改sshd服务的主配置文件
LoginGraceTime 2m #登录验证时间为2分钟(默认2分钟)
PermitRootLogin no #禁止root用户登录
MaxAuthTries 6 #最大重试次数为6次
PermitEmptyPasswords no #禁止空密码登录
PrintLastLog yes #显示上次登入的信息!默认为 yes
AllowUsers #只允许或禁止某些用户登录
systemctl restart sshd #重启sshd服务
(1)不允许root用户登录,只允许普通身份登录
vim /etc/ssh/sshd_config
systemctl restart sshd #重启sshd服务
(2)设置最大允许的认证次数为6,如果失败认证的次数超过这个数值的一半,连接将被强制断开
二、SSH远程登录方式
1、两种登录方式
例1:
ssh [远程主机用户名]@[IP地址] -p port
当在Linux主机上远程连接另一台Linux主机时,如当前所登录的用户是root的话,当连接另一台主机时也是用root用户登录时,可以直接使用ssh IP,端口
(1)在配置文件/etc/hosts添加文件
(2)ssh直接通过用户就可以登录
例2:
ssh -l [远程主机用户名] [远程服务器主机名或IP地址] -p port
-l:指定登录名称
-p:指定登录端口(当服务器端口非默认时,需要使用-p指定端口进行登录)
2、SCP复制
安全性复制
scp:scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,而且scp传输是加密的。
3、SFTP安全FTP
- 通过sftp命令可以利用SSH安全连接与远程主机上传、下载文件,采用了与FTP类似的登录过程和交互式环境,便于目录资源管理。
- 由于使用了加密/解密技术,所以传输效率比普通的FTP要低,但安全性更高。