ssh,
ssh,
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
问题二:若是公钥文件出了问题,会导致无法认证,解决方法,就是把文件删除
配置案例: