赞
踩
SSH在进行远程连接通信是好工具,应用场景也很广泛。最近,在使用SSH过程中由于凭借感觉去使用,遇到一些问题,在此记录总结一下。
在百度百科上,关于SSH的介绍较为详细,主要可以去关注以下几点:
SSH 为建立在应用层基础上的安全协议。SSH 是较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。
传统的网络服务程序,如:ftp、pop和telnet在本质上都是不安全的,因为它们在网络上用明文传送口令和数据,别有用心的人非常容易就可以截获这些口令和数据
传输层协议 [SSH-TRANS]
提供了服务器认证,保密性及完整性。此外它有时还提供压缩功能。 SSH-TRANS 通常运行在TCP/IP连接上,也可能用于其它可靠数据流上。 SSH-TRANS 提供了强力的加密技术、密码主机认证及完整性保护。该协议中的认证基于主机,并且该协议不执行用户认证。更高层的用户认证协议可以设计为在此协议之上。
用户认证协议 [SSH-USERAUTH]
用于向服务器提供客户端用户鉴别功能。它运行在传输层协议 SSH-TRANS 上面。当SSH-USERAUTH 开始后,它从低层协议那里接收会话标识符(从第一次密钥交换中的交换哈希H )。会话标识符唯一标识此会话并且适用于标记以证明私钥的所有权。 SSH-USERAUTH 也需要知道低层协议是否提供保密性保护。
连接协议 [SSH-CONNECT]
将多个加密隧道分成逻辑通道。它运行在用户认证协议上。它提供了交互式登录话路、远程命令执行、转发 TCP/IP 连接和转发 X11 连接。
如果你还在通过密码方式登录SSH,那么你或许应该试试SSH Keys,首先使用OpenSSH为自己生成一对密钥:$ ssh-keygen
跟随指示,完成之后,你应该可以在你的.ssh目录下看到两个文件,id_rsa就是你的私钥,而id_ras.pub则是你的公钥,现 在你需要将你的公钥拷贝到服务器上,如果你的系统有ssh-copy-id命令,拷贝会很简单:$ ssh-copy-id
否则,你需要手动将你的公钥拷贝的服务器上的~/.ssh/authorized_keys文件中:
$ < ~/.ssh/id_rsa.pub ssh ‘mkdir -p .ssh; cat >> .ssh/authorized_keys; chmod go-w .ssh .ssh/authorized_keys’
在GitHub上,可以通过源码去进一步探索OpenSSH的实现。
由于SSH设计分为ssh客户端和sshd服务端,因此对应的配置文件有:
/etc/ssh/ssh_config和/etc/sshd_config
具体的参数解释,如下表(来源于Linux就该这么学),更加详细的可参考该篇文章
ssh-keygen
ssh-copy-id remoteIP
,或手动复制cat ~/.ssh/id_rsa.pub >> .ssh/authorized_keysservice ssh restart
重新安装!(服务拒绝,说明该端口进程大概率没有启动,可通过 ss 命令查看端口开启情况,也可以查看服务是否安装成功)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。