ssh(Secure Shell)是能够提供安全远程登录会话的协议,可以实现在远程的Linux系统中执行命令。而且ssh协议是安全的,sshd服务提供两种安全验证的方法:
基于口令的安全验证:经过验证账号和密码即可登录到远程主机
基于密钥到安全验证:在本地生成“密钥对”后将公钥传送到服务端,进行公共密钥到比较
sshd服务的配置文件在 /etc/ssh/sshd_config
在配置中几个重要的参数:
#Port 22 默认的sshd服务端口
#ListenAddress 0.0.0.0 设定sshd服务端监听的IP地址
#Protocol 2 SSH协议的版本号
#PermitRootLogin 设定是否允许root用户直接登录
#StrictModes 设定当远程用户私钥改变时直接拒绝连接
#MaxAuthTries 设定最大密码尝试次数
#PasswordAuthentication 设定是否允许root密码登录
#PubkeyAuthentication 设定是否允许密钥验证
#PasswordAuthentication 设定是否允许密码验证
在远程主机上启动sshd服务:
systemctl start sshd
systemctl restart sshd
将sshd服务加入开机启动项:
systemctl enable sshd
使用ssh命令:
ssh命令用于远程管理Linux主机
ssh [参数] 主机地址
例如 ssh 192.168.10.20,连接过程中需要输入远程主机root用户的密码(容易被暴力破解),或者也可以通过用密钥进行安全认证:
1 终端输入命令 : ssh-keygen 生成密钥对
2 将生成好的公钥密钥传到远程主机: ssh-copy-id 主机地址
3修改远程主机的配置文件,将允许密码验证的参数设置为no,将允许密钥验证的参数设置为yes,然后重新启动ssh服务程序
就可以实现无需密码的远程登录了