scp ssh-key连接原理

Posted liujianxin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了scp ssh-key连接原理相关的知识,希望对你有一定的参考价值。

如何关闭位置解析

vim手动打开ssh的配置文件修改81行和122行,位置解析需要双方都关闭

技术分享图片

技术分享图片

技术分享图片

注意重点部分

技术分享图片

ssh特别提醒

技术分享图片

 

 22端口信息

技术分享图片

连接前提

远程连接双方都需要提前安装openssh-clientts软件包也就是scp命令

 

ssh远程连接

远程连接:ssh -p 22 [email protected]:22 
不写端口,不写用户,默认是22端口和roo用户,-p指定端口,[email protected]是用户

技术分享图片

scp远程复制

远程复制:scp /etc/hosts [email protected]:/etc/hosts 
远程复制不会提示yes或no,直接把/etc/hosts覆盖,:后是路径

技术分享图片

可以把对方客户端的东西复制到自己当前在的目录

技术分享图片

 

ssh-key交互生成密钥对

ssh-keygen:生成密钥对命令 ssh-copy-id:分发密钥对命令 
rsa指的是加密算法 密钥对密码:什么都不输入就代表不需要密码登陆 
id_rsa:私钥(放客户端) id-rsa.pub:公钥(放服务端)

技术分享图片

放密钥对的目录权限不能过大,只能700 
如果客户端或服务端家目录下没有隐藏的.ssh目录,需要手动创建目录并修改权限

技术分享图片

scp .ssh/id_rsa.pub 192.168.200.100:~/.ssh/ 
因为是从客户端复制到服务端所以是id_rsa.pub文件 
远程复制完后在服务端查看并把公钥重定向到authorized_keys免钥匙文件里 
这回客户端登陆服务端就不需要输入任何密码了 
因为密钥都是在root用户家目录下所以只能root登陆免密钥 
要想普通用户免登陆密码需要把密钥放在普通用户的家目录里 
没有目录则需要手动创建目录并附700权限,authorized_keys文件需要属主改成普通用户,权限是644

技术分享图片

技术分享图片技术分享图片

ssh-key非交互生成密钥对

ssh-keygen -t dsa -f ~/.ssh/id_dsa -P "" 
-t指定加密算法,-f生成的密钥放在哪里,-P是密码不写是空

技术分享图片

ssh-copy-id -i ~/.ssh/[email protected] 
-i告诉你要分发什么密钥文件后面是分发的用户和IP,输入指定的普通用户密码生成 
查看生成的密钥文件目录,目录700,属主普通用户,密钥文件authorized_keys

技术分享图片

技术分享图片

连接普通用户测试并免密码进入普通用户

技术分享图片

 

sshpass免密生成分发密钥对

sshpass需要云yum安装软件包

技术分享图片

ssh-keygen -t dsa -f ~/.ssh/id_dsa -P "" 
-t指定加密算法,-f生成的密钥放在哪里,-P是密码不写是空 
sshpass -p "123123" ssh-copy-id -i ~/.ssh/id_dsa.pub [email protected] 
-p代表指定密码,-i告诉你要分发什么密钥文件后面是分发的用户和IP,免密码生成

技术分享图片
技术分享图片

连接普通用户测试并免密码进入普通用户

技术分享图片

 

known_hosts文件完全分发

known_hosts文件是记录每次连接的信息,把他清空了,每次连接虽然是免密不过提示是否记录对方主机信息

技术分享图片

sshpass -p "123123" ssh-copy-id -i ~/.ssh/id_rsa.pub "-o StrictHostKeyChecking=no [email protected]" 
sshpass -p:密码,免交户输入密码 
ssh-copy-id -i:指定公钥文件路径 
-o StrictHostKeyChecking=no:不记录对方主机信息 
vim /etc/ssh/ssh_config:把35行注释开启,后面改成no也不需要记录对方主机信息,ask是询问,重启sshd服务

技术分享图片























以上是关于scp ssh-key连接原理的主要内容,如果未能解决你的问题,请参考以下文章

Linux系统——ssh-key连接原理

SSH连接原理及ssh-key讲解

SSH连接原理及ssh-key讲解

Linux系列—SCP命令认识篇

教程配置多个SSH-Key

使用 ssh-key 无密码推送到 GitHub