参考网址
http://www.ruanyifeng.com/blog/2011/12/ssh_remote_login.html
http://www.ruanyifeng.com/blog/2011/12/ssh_port_forwarding.html
OpenSSH是ssh的一种最长用的实现方式
C/S
C:ssh,scp、sftp
windows客户端:
xshell,putty
S:sshd
ssh服务的最佳实践
1、不要使用默认端口(不要使用22)
2、禁止使用protocol version1 (默认是禁止用户登录)
3、限制可登陆用户(不要使用root用户登录,以及设置白名单)
4、设定空闲会话超时时长
5、利用防火墙设置ssh访问策略
6、仅监听特定的IP地址
7、基于口令认证时,使用强密码策略
8、使用基于密钥的认证
9、禁止使用空密码
10、禁止root用户直接登录
11、显示ssh的的访问频度和并发在线数
12、做好日志,经常分析
SSH是一种网络协议,用于计算机之间加密登录
SSH 采用公钥加密
1、远程主机收到用户的登录请求,把自己的公钥发给用户
2、用户使用这个公钥将密码加密后发给,发送给远程主机
3、远程主机用自己的私钥,解密登录密码,如果密码正确,就同意用户登录
口令登录
第一次登录,出现提示
无法确认远程主机的真实性,只知道他的公钥指纹,问你是否继续
通过密钥免密登录
公钥登录
1、用户将自己的公钥存储在远程主机上
2、登录的时候,远程主机会向用户发送一段随机字符串
3、用户用自己的私钥加密后,再发回来
4、远程主机用自己的公钥进行解密,
ssh-keygen:
ssh-copy-id :
可以将本地主机的公钥复制到远程主机的authorized_keys 文件上,ssh-copy-id 也会给远程主机的用户主目录(home)和~/.ssh ~/.ssh/authorized_keys 设置合适的权限
ssh-keygen -t rsa
ssh-copy-id -i ~/.ssh/id_rsa.pub user@server