一 : SSH是一种网络协议,用于计算机之间的加密登录。如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码也不会泄露。这里仅仅介绍openSSH。
SSH之所以能够保证安全,原因在于它采用了公钥加密。
整个过程是这样的:(1)远程主机收到用户的登录请求,把自己的公钥发给用户。(2)用户使用这个公钥,将登录密码加密后,发送回来。(3)远程主机用自己的私钥,解密登录密码,如果密码正确,就同意用户登录。
这个过程本身是安全的,但是实施的时候存在一个风险:如果有人截获了登录请求,然后冒充远程主机,将伪造的公钥发给用户,那么用户很难辨别真伪。因为不像https协议,SSH协议的公钥是没有证书中心(CA)公证的,也就是说,都是自己签发的。
可以设想,如果攻击者插在用户与远程主机之间(比如在公共的wifi区域),用伪造的公钥,获取用户的登录密码。再用这个密码登录远程主机,那么SSH的安全机制就荡然无存了。这种风险就是著名的"中间人攻击"(Man-in-the-middle attack)。
二:SSH两种方式的用户登录认证:
1:基于passwd
2:基于key
三:SSH用法
1:基于passwd登陆(以wang用户登陆远程主机)
[root@centos6 ~]# ssh wang@192.168.154.140
wang@192.168.154.140's password:
[wang@station1 ~]$
2:配置文件:/etc/ssh/ssh_config
3:远程执行命令(执行命令并显示结果后返回当前主机)
[root@centos6 ~]# ssh wang@192.168.154.140 who
wang@192.168.154.140's password:
root pts/1 2017-12-31 03:44 (192.168.154.1)
root pts/2 2017-12-31 07:57 (192.168.154.132)
[root@centos6 ~]#
4:-p port:远程服务器监听的端口
配置文件:vim /etc/ssh/sshd_config 将其改为自己想要的端口默认22,例如将其改为9527(port 22变为port 9527)
生效方式:service sshd restart (centos6.9)
systemctl reload sshd(centos7.4)
6:-v 调试模式(可以排错)
7:-c 压缩方式
8:-b 指定连接的源ip
[root@centos6 ~]# ip a a 192.168.154.27/24 dev ens33(在一个网卡添加多个ip)
9:-x 支持x11转发
10:-Y 支持信任x11转发 ForwardX11Trusted yes
11:-t 强制伪tty分配 ssh -t remoteserver1 ssh remoteserver2
四 :基于密钥的登录方式
1 首先在客户端生成一对密钥(ssh-keygen)
2 并将客户端的公钥ssh-copy-id 拷贝到服务端
3 当客户端再次发送一个连接请求,包括ip、用户名
4 服务端得到客户端的请求后,会到authorized_keys中查 找,如果有响应的IP和用户,就会随机生成一个字符串, 例如:acdf
5 服务端将使用客户端拷贝过来的公钥进行加密,然后发 送给客户端
6 得到服务端发来的消息后,客户端会使用私钥进行解密 ,然后将解密后的字符串发送给服务端
7服务端接受到客户端发来的字符串后,跟之前的字符串进 行对比,如果一致,就允许免密码登录
基于密钥的认证:
(1) 在客户端生成密钥对 ssh-keygen -t rsa [-P ''] [-f “~/.ssh/id_rsa"]
(2) 把公钥文件传输至远程服务器对应用户的家目录 ssh-copy-id [-i [identity_file]] [user@]host
(3) 测试
(4) 在SecureCRT或Xshell实现基于key验证 在SecureCRT工具—>创建公钥—>生成Identity.pub文件 转化为openssh兼容格式(适合SecureCRT,Xshell不需要转化 格式),并复制到需登录主机上相应文件authorized_keys中, 注意权限必须为600,在需登录的ssh主机上执行: ssh-keygen -i -f Identity.pub >> .ssh/authorized_keys
(5)重设私钥口令: ssh-keygen –p
(6)验证代理(authentication agent)保密解密后的密钥 • 这样口令就只需要输入一次 • 在GNOME中,代理被自动提供给root用户 • 否则运行ssh-agent bash
(7)钥匙通过命令添加给代理 ssh-add
免口令登陆如下:
五:解决连接慢问题:
1:改配置文件:即vim /etc/ssh/ssh_config
2:UseDNS yes改为UseDNS no
3:GSSAPIAuthentication yes改为GSSAPIAuthentication no
4:重启服务
ssh服务
原创wangdanboke ©著作权
©著作权归作者所有:来自51CTO博客作者wangdanboke的原创作品,请联系作者获取转载授权,否则将追究法律责任
上一篇:centos6启动流程
下一篇:PAM
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
ssh服务简介
ssh服务简介
ssh 联机加密 联机步骤