1. SSH是安全的加密协议(secure shell protocol),用于远程连接liunx服务器。
2. SSH默认端口是22,安全协议版本SSH2,除了2之外还有SSH1(有漏洞没用)。
3. SSH服务端主要包含两个服务功能SSH远程连接,SFTP服务。
4. Linux SSH客户端包含ssh远程连接命令,以及远程拷贝scp命令等。
加密原理:
1.X原理
客户端发出请求,服务端发送公钥,客户端的私钥与服务端的公钥经过算法得出值发送给服务端,然后建立联机,这期间服务端不对这个值进行校验,所以其他的客户端有可能冒充进行伪通讯。
2.X原理
为了改正1.x的缺点2版本多加一个确认联机正确性的Diffie-Hellman机制,在每次数据传输中,Server都会以该机制检查数据的来源是否正确。
基于密钥的安全验证
一堆秘钥对(锁和钥匙)
连接过程:
客户端有公钥和私钥,一些验证方式只需要客户端有私钥即可
1. cli发送公钥到ser
2. cli发送连接请求
3. Ser使用私钥和公钥加密得到字串发送给cli
4. Cli使用私钥解密该字串发给ser
5. Ser校验通过,连接建立
基于口令的安全验证:
使用ssh客户端登录:
ssh –p22 root@192.168..1.1 (-p参数制定ssh的端口,默认22的话不用写)
我只想过去执行命令回来:ssh root@192.168.1.1 /sbin/ifconfig
/.ssh/known_hosts是存放已知主机密钥信息
ssh为加密的远程连接协议,相关软件有openssh,openssl。
默认端口22
协议版本1.x和2.x,2.x更安全。
服务端ssh远程连接服务,sftp服务。Sshd守护进程,开机要自启动。
Ssh客户端包含ssh,scp,sftp命令。
Ssh安全验证方式:口令和密钥,这两种都是基于口令的,SSH密钥登录的原理
Ssh服务安全优化,修改默认端口22,禁止root远程连接,禁止dns,SSH只监听内网IP
Ssh密钥对,公钥(public key)在服务器端,比喻就是锁头,私钥(private key)在客户端,比喻就是钥匙。
安全的远程文件复制程序
示例:
-p 端口 –r递归(连同目录一起传输)-p不修改属性
scp -P22 -r -p . root@192.168.24.32:/tmp/
相同效果可以使用:
rsync -avz /etc -e 'ssh -p 22' root@192.168.24.21:/tmp/1
scp小结:
1. scp是加密的远程拷贝,而cp仅为本地拷贝
2. 可以把数据从一台机器推送到另一台机器,也可以从其它服务器把数据拉回到本地执行命令的服务器。
3. 每次都是全量完整拷贝,因此效率不高,适合第一次拷贝用,如果需要增量拷贝,用rsync。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。