配置和保护OPENSSH服务
1、使用SSH远程访问
OPENSSH用于在远程系统上安全运行shell,若你在可提供SSH服务的远程Linux系统中拥有用户账户,则ssh是通常用来远程登陆到该系统的命令。
ssh remotename@remotehost
ssh remotehost -l remotename
w命令可以显示当前登录到计算机的用户列表
w -f
SSH通过公钥加密的方式保持通讯安全,当某一ssh客户端链接到ssh服务器时,在该客户端登录之前,服务器会向其发送公钥副本,这可用于为通信渠道设置安全加密,并可验证客户端的服务器。
主机ID存储位置(本地客户端) ~/.ssh/know_hosts
主机密钥存储位置(SSH服务端) /etc/ssh/ssh_host_key
若服务器端删除了密钥文件,重启服务即可,重新生成密钥
Client若想重新连接server,需删除原有know_hosts文件,否则会出现不匹配提示
2、配置基于SSH密钥的身份验证
ssh运行用户使用私钥-公钥方案进行身份验证。私钥文件用作身份验证凭证,公钥复制到用户希望登录的系统,用于验证私钥。拥有公钥的ssh服务器可以发布仅持有你私钥的系统才可解答的问题,因此可以根据所持有的密钥进行验证,就不必要在每次访问系统时键入密码,但安全性仍能得到保证。
使用ssh-keygen命令生成密钥
私钥 ~/.ssh/id_rsa
公钥 ~/.ssh/id_rsa.pub
复制公钥 ssh-copy-id remotename@remotehost
通过ssh-copy-id复制公钥时,默认复制 ~/.ssh/id_rsa.pub文件
3、自定义SSH服务配置
配置文件路径 /etc/ssh/sshd_config
示例:
禁止root用户使用ssh登录 PermitRootLogin no
禁止使用密码身份验证 PasswordAuthentication no
只允许某个特定用户登录 Allowusers username
是否支持打开图形化界面 X11Forwarding yes
原文地址:http://lvyang0519.blog.51cto.com/687194/1732506