Linux SSH基础
1 简介
SSH,Secure Shell,安全外壳。
SSH是一个协议。安全的网络协议,会加密传输数据;比较ftp、telnet更加安全。
SSH是一个服务。Linux实现SSH协议的服务也叫SSH。
本节介绍SSH服务的使用。
2 服务器客户端
SSH网络服务分为两部分:服务端与客户端。
CentOS7默认安装了SSH的服务端与客户端。
查看安装程序
rpm -qa | grep ssh
openssh-server为服务端安装程序;openssh-clients为客户端安装程序。
服务端程序名
服务端程序名为sshd,可查看服务端进程与端口
netstat -atnp | grep sshd
后台服务进程端口为22。
LISTEN表示后台服务正在监听;
ESTABLISTHED表示当前有客户端正在连接,当前有两个连接。
客户端程序
客户端程序,包括多个:ssh 、scp、sftp。
ssh用于远程登录的命令;
scp用于远程主机间的文件复制;
sftp用于安全的ftp文件操作。
后续依次学习ssh与scp命令。
3 服务端配置
sshd服务端配置文件
/etc/ssh/sshd_config
文件内容非常多,此处截取开头几行。
常用配置项说明
常用配置项 | 说明 |
---|---|
Port 22 | sshd服务端口,默认为22 |
ListenAddress 0.0.0.0 | 监听IP地址,默认为所有地址 |
HostKey | 指定私钥文件路径,不同HostKey对应不同SSH版本 |
PermitRootLogin yes | 是否允许root登录,默认允许 |
MaxSessions 10 | 最大终端数量,默认为10 |
PermitEmptyPasswords no | 是否允许空密码登录,默认为no |
例1:禁止root登录
注:建议在VMWare中操作。
需取消之前的#注释。
修改后需重启服务
systemctl restart sshd
客户端再次连接,即使输入root密码正确,也报错:Access denied。
配置还原回去,为提高初学效率,我们以后还是通过root登录。
4 客户端配置
sshd客户端配置文件
/etc/ssh/ssh_config
一般不去修改。
如果在主机A上远程登录主机B,则此时B作为服务器,A作为客户端。
此次连接,B中的sshd_config有意义,A中的ssh_config有意义。