深入浅析SSH的三个组件ssh、sftp、scp
作者:呀,没吸!
SSH 包含3个组件
(1) ssh 远程登录节点 : ssh 用户名@IP地址
① 不允许空密码或错误密码认证登录
② 不允许root用户登录
③ 有两个版本 ssh,ssh2安全性更高
(2) sftp 文件共享连接 , xftp连接就是 sftp实现的
(3)scp 文件拷贝共享
scp命令 :两节点文件的拷贝传输
(1)向目标节点传文件 : scp 路径/文件名 用户名@IP地址:目录
如:向127.0.0.1节点的root用户/tmp 下传文件
scp 路径/文件名 root@127.0.0.1:/tmp
(2)从目标节点拉文件 : scp 用户名@IP地址:路径/文件名 文件目录
注意 :在远程拷贝至目标节点时 ,就等于创建了 一个一模一样的文件 ,此时原文件的文件属性已发生了变化(如文件创建的时间) 如果不期望文件属性发生变化
scp -p -r xxx
-p : 文件属性不发生变化 (建议加上)
-r : 如果拷贝的是目录 需要加-r ,递归
-P(大写) : 指定端口号,如果端口号在ssh 中发生了变化
在使用scp拷贝文件时需要手动输入密码才能拷贝成功到远程节点,如果实现定时拷贝或者免密码登录需要创建秘钥免密码认证 步骤 如下:
例:A 172.30.3.165 节点从B 172.30.3.126节点拉文件 : spc root@172.30.3.126:/tmp/文件名字 /tmp/文件名字
(1)A节点生成秘钥对 :ssh -keygen -t rsa
提示 :密钥的保存路径,默认是/root/.ssh/id_rsa 直接回车以后的步骤也依次回车
然后会在/root/.ssh下生成如下文件 (.ssh默认是隐藏的)
(2)将id_rsa.pub 公钥拷贝到主机 B /root/ 目录下
scp id_rsa.pub root@172.30.3.126:/root/
(3)查看B节点下是否有.ssh目录,如果没有则创建
(4) 将id_rsa.pub输出到.ssh目录下 ,创建新的认证文件
authorized_keys cat id_rsa.pub >> .ssh/authorized_keys
(5) 到/root/下分别 对文件赋予权限
a、 chmod 700 .ssh
b、chmod 600 .ssh/authorized_keys
(6)测试 :ssh root@172.30.3.126 远程登录就不需要密码了
总结
以上所述是小编给大家介绍的SSH的三个组件ssh、sftp、scp ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
您可能感兴趣的文章:
- SSH远程登录和端口转发详解
- SSH的ssh-keygen命令基本用法详解
- windows安装openssh并通过生成SSH密钥登录Linux服务器
- 实现一台或者多台Linux实例解绑SSH密钥对
- 使用PSSH批量管理Linux服务器
- Redis未授权访问配合SSH key文件利用详解
- SSH原理及两种登录方法图文详解
- 创建支持SSH服务的Docker镜像的方法
- CentOS7增加或修改SSH端口号的方法
- PyCharm设置SSH远程调试的方法
- 详解基于django实现的webssh简单例子
- SSH 上传文件及文件夹到linux服务器的方法
- CentOS6.5与CentOS7 ssh修改默认端口号的方法
- Spring+Hibernate+Struts(SSH)框架整合实战
- ubuntu16.04安装ssh服务并实现远程访问的方法
- rsync指定ssh端口进行文件同步的方法
- 利用python 更新ssh 远程代码 操作远程服务器的实现代码
- 用Go写一个轻量级的ssh批量操作工具的方法
- SSH端口转发,本地端口转发,远程端口转发,动态端口转发详解