文章目录
- ssh 192.168.152.130
- ssh-keygen -t dsa
- ssh-keygen -t rsa
- ssh-copy-id -i id_dsa.pub root@192.168.152.136
- ssh 192.168.152.136
- vi /etc/ssh/ssh_config
- vi /etc/ssh/sshd_config
- ssh -L ::
- ssh -L 1080:centos6:23 -Nf centos7dns
- ssh -R sshserver_port:remote_host:remotehost_port sshserver
- ssh -R 1080:centos6 -Nf centos7
什么是ssh?
SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。
SSH是标准的网络协议,可用于大多数UNIX操作系统,能够实现字符界面的远程登录管理,它默认使用22号端口,采用密文的形式在网络中传输数据,相对于通过明文传输的Telnet,具有更高的安全性。
SSH提供了口令和密钥两种用户验证方式,这两者都是通过密文传输数据的。不同的是,口令用户验证方式传输的是用户的账户名和密码,这要求输入的密码具有足够的复杂度才能具有更高的安全性。
而基于密钥的安全验证必须为用户自己创建一对密钥,并把共有的密钥放在需要访问的服务器上。当需要连接到SSH服务器上时,客户端软件就会向服务器发出请求,请求使用客户端的密钥进行安全验证。服务器收到请求之后,先在该用户的根目录下寻找共有密钥,然后把它和发送过来的公有密钥进行比较。如果两个密钥一致,服务器就用公有的密钥加密“质询”,并把它发送给客户端软件。客户端收到质询之后,就可以用本地的私人密钥解密再把它发送给服务器。这种方式是相当安全的。
SSH服务认证类型:
基于口令的认证
基于口令的安全验证的方式就是大家现在一直在用的,只要知道服务器的SSH连接帐号和口令(当然也要知道对应服务器的 IP及开放的 SSH端口,默认为22 ),就可以通过 ssh客户端登录到这台远程主机。此时,联机过程中所有传输的数据都是加密的。
事例:
ssh 192.168.152.130
基于秘钥认证:
首先在客户端生成一对秘钥:
ssh-keygen -t dsa
或者
ssh-keygen -t rsa
生成的私钥默认位置在/root/.ssh/下面
下面输入的密码意为是否对私钥再进行加密。
将刚才客户端生成的公钥上传到服务器端:
ssh-copy-id -i id_dsa.pub root@192.168.152.136
测试:
ssh 192.168.152.136
可以直接登录了,不需要密码
SSH配置文件详解:
Ssh客户端配置文件详解:
vi /etc/ssh/ssh_config
Host * #选项“Host”只对能够匹配后面字串的计算机有效。“*”表示所有的计算机。
ForwardAgent no