SSH服务(TCP端口号22):安全的命令解释器 为客户机提供安全的Shell 环境,用于远程管理 SSH基于公钥加密(非对称加密)技术: 数据加密传输; 客户端和服务器的身份验证; 公钥 和 私钥 数据加密 发送方使用接受方的公钥加密数据; 接受方使用自己的私钥解密数据; 数据加密保证了所发送数据的机密性; 数字签名:(数字签名保证数据完整性、身份验证和不可否认) 发送方:对原始数据执行HASH算法得到摘要值;发送方用自己的私钥加密摘要值; 接受方:用发送方公钥解密摘要值,同时对收到的原始数据同样执行HASH产生另一种摘要值; OpenSSH: 服务端主程序:/usr/sbin/sshd 客户端主程序:/usr/bin/ssh 服务端配置文件:/etc/ssh/sshd_config (重启shhd服务生效) 客户端配置文件:/etc/ssh/ssh_config SSH登录使用的用户名:服务器中的本地系统用户的帐号名; SSH登录的用户验证方式 密码验证:使用服务器中系统帐号对应的密码;(PasswordAuthentcation 密钥对验证:使用客户端中生成的公钥、私钥;(PubkeyAuthentication yes 使用ssh命令远程登录方法: 1.ssh 用户名@服务器地址 2.ssh -l 用户名 3.ssh 服务器地址(服务器正在使用哪个用户就以哪个用户登录) 客户端密钥存放位置 ~.ssh目录下 服务器端的密钥存放位置 /etc/ssh/ssh_host_* known_hosts authorized_keys 存放需要验证的客户机的公钥 .ssh文件夹和下面的文件权限的组和其它人不能有w权限 ssh访问很慢的原因和解决办法 原因:访问服务器的时候会把服务器的ip地址反向解析为域名,如果无法解析就会导致登陆时很慢 下面三种方法都可以解决这个问题 1、清空/etc/resolv.conf文件中nameserver记录 2、在客户机的/etc/hosts文件中添加服务器域名的解析记录 3、修改客户机的/etc/ssh/ssh_config文件中:GSSAPIAuthentication no 问题二:若是公钥文件出了问题,会导致无法认证,解决方法,就是把文件删除 配置案例: |