linux ssh原理
介绍
ssh分为客户端(client)和服务端(server),在客户端会生成 id_rsa(私钥)和公钥(id_rsa.pub)
- 客户端将私钥发给服务端
- 客户端使用私钥将密码加密,并发送给服务端
- 服务端用公钥解密登录密码
ssh免密登录原理:
1, node1 使用 ssh-keygen –t rsa 生成公钥和私钥
2,ssh-copy-id root@node2 将公钥拷贝到node2上,实际上是把公钥内容追加到 authorized_keys文件中。
请求时:
1,node1向node2发送连接请求时,附带主机,ip地址等信息
3, node2收到请求后,去授权文件里查找node1的公钥,找到之后,随机生成一个字符串,并用公钥加密,并发送给node1
4, node1接收到密文之后,用私钥解密,并把解密结果返回给node2
5, node2拿到解密结果之后,与之前的字符串进行比较,如果相同,则可以登录成功。
安装与配置
- 安装客户端(ubuntu已经默认安装)
sudo apt-get install openssh-client - 安装服务端
apt-get install openssh-server - 配置文件
sudo gedit /etc/ssh/sshd_config
openssh
在主机中开启了openssh服务,那么就对外开放了远程连接的接口
openssh的服务端:sshd
openssh的客户端:ssh
ssh————————————>sshd
client server
ssh
ssh= secure shell
可以让远程主机通过网络访问sshd服务,开始一个安全shell,并对其进行操控
sshd
可以通过网络在主机中开启shell的服务
启动和关闭ssh
- sudo service ssh start
- sudo /etc/init.d/ssh restart
- sudo service ssh stop
连接和断开服务端
- ssh usr@hostname
usr 是服务端的用户名,如果客户端和服务端客户名称相同,则不需要指定
ssh -p 2222 user@host 可以指定端口
hostname 可以是客户端ip地址,也可以是客户端主机名 - exit
设置公钥和私钥(生成免密的登录)
免密登录是单向的.
- ssh-keygen -t rsa
在客户端生成公钥和私钥 - ssh-copy-id user@host
将公钥上传到服务端
本质上是将客户端的~/.ssh/id_rsa.pub
公钥的内容添加到服务器的~/.ssh/authorized_keys
中
ssh-keygen -f id_dsa -p
改变私钥的密码
ssh-keygen -f "~/.ssh/known_hosts" -R 192.168.1.254
scp
secure cp(安全的copy)
注意是在客户端输入命令,而不是登录服务端输入命令
远程主机要带ip地址
scp /dir/file user@ip:/dir/file
复制本地文件到服务器
scp user@ip:/dir/file /dir/file
复制服务器文件到本地
如果是客服端有的文件夹(路径相同),则无需再服务端创建文件夹,如果没有则会报错
-r 递归复制
-f 强制复制
-v 显示进度
配置远程 root登录
PermitRootLogin without-password
-> PermitRootLogin yes
sudo service ssh restart
参考:
https://www.cnblogs.com/xishuai/p/7458191.html
permission denied for root@localhost for ssh connection
参考文献:
http://www.jb51.net/os/Ubuntu/161353.html
http://blog.csdn.net/zht666/article/details/9340633
http://www.jb51.net/os/Ubuntu/161384.html 配置详解
http://blog.csdn.net/pipisorry/article/details/52269785 公钥和私钥配置
http://os.51cto.com/art/201304/390042.htm ssh常用命令
https://www.cyberciti.biz/faq/howto-ssh-changing-passphrase/
http://www.cnblogs.com/longjshz/p/5773679.html
https://blog.csdn.net/qq_42036824/article/details/82943088
linux ssh原理相关推荐
- linux操作系统-SSH原理介绍与免密运用与远程命令操作
PS:运用好SSH,对管理众多服务器可以带来极大的便利.当我们从一台服务器访问另一台服务器,我们可以输入密码访问,并不影响效率.但是当我们需要访问多台服务器,或者几十上百台的时候就有点麻烦了.或者对几 ...
- 通过ssh远程登录linux的原理过程和配置免密登录
1.总结通过ssh远程登录linux的原理过程 基于口令的认证 客户端和服务端建立TCP连接 协商阶段 双方进行ssh版本协商 密钥协商阶段 在服务器端生成一对密钥,将公钥传递给客户端,客户端将密钥C ...
- 从无盘启动看 Linux 启动原理
作者:bobyzhang,腾讯 IEG 运营开发工程师 0. 故事的开始 0.1 为什么和做什么 最近家里买了对音响,我需要一个数字播放器.一凡研究后我看上了 volumio(https://volu ...
- SSH原理与运用(一):远程登录
SSH是每一台Linux电脑的标准配置. 随着Linux设备从电脑逐渐扩展到手机.外设和家用电器,SSH的使用范围也越来越广.不仅程序员离不开它,很多普通用户也每天使用. SSH具备多种功能,可以用于 ...
- linux ssh注册码,linux ssh -l 命令运用
ssh是远程登录命令,-l选项是最常用的选项,下面是我的一些总结 远程登录:ssh -l userName ip # 远程登录到 10.175.23.9 ssh -l root2 10.175. ...
- Linux安全原理简介
Linux安全原理简介 介绍 在设置Linux计算机的所有阶段,安全性应是首要考虑之一.要在计算机上实施良好的安全策略,需要对Linux的基础知识以及所使用的某些应用程序和协议有充分的了解. Linu ...
- centos7无盘启动_从无盘启动看Linux启动原理
作者:bobyzhang,腾讯 IEG 运营开发工程师 0. 故事的开始 0.1 为什么和做什么 最近家里买了对音响,我需要一个数字播放器.一凡研究后我看上了volumio( 我打算让volumio运 ...
- SSH原理与运用:远程登录
SSH是每一台Linux电脑的标准配置. 随着Linux设备从电脑逐渐扩展到手机.外设和家用电器,SSH的使用范围也越来越广.不仅程序员离不开它,很多普通用户也每天使用. SSH具备多种功能,可以用于 ...
- Linux SSH 免密登录
Linux SSH 免密登录 本篇我们来 看看 Linux 的免密登录的原理 以及实际操作一番 概述 什么是 Linux SSH 免密登录,我觉得大家应该都 多少听过 或者操作过,那你真的理解整个免密 ...
最新文章
- 马尔科夫随机场的基本概念
- 2008年校本培训之论文 封面
- opencv 图像 抠图 算法_人人可用的在线抠图,AI自动化的那种!北大校友算法玩出新高度...
- pythonista3使用说明_pythonista3都能做什么
- java 强制向上转型,Java 转型(向上或向下转型)详解及简单实例
- 使用Xftp5连接云服务器
- python使用glob模块匹配文件及路径
- 语言的开题报告范文_【开题系列】刘凤朝:撰写文科博士学位论文开题报告应注意的几个问题...
- Genymotion安装apk问题,不能部署Genymotion-ARM-Translation_v1.zip
- android 组态软件,Livzenwex安卓版组态软件
- 浅谈电子商务网站购物车
- LeetCode 刷题: Fizz Buzz
- 年记 2018,新年快乐
- ROS机器人021-机器人命令行发送cmd_vel话题及/cmd_vel geometry_msgs/Twist示例
- python表示差值_Python-dataframe的对应列求差值
- 利用Vlookup函数在Excel中根据一列来筛选信息
- 让你在 API 设计中少踩坑的实战分享
- Go语言使用golang-jwt/jwt/v4进行JWT鉴权
- 轻松学会linux下查看内存频率,内核函数,cpu频率
- 思博伦PosApp(Positioning Application)使用方法——如何设置动态载具
热门文章
- 检测电脑硬件的软件_慎用优化软件 不然I7也会卡
- Python+OpenGL实现虚拟场景中不同物体的拾取与选择
- 1000道Python题库系列分享22(40个填空题)
- php随机关键词,php实现向含html文本内容随机位置插入关键词
- spring boot +vue用什么记录登录状态_为什么很多Spring Boot开发者放弃了Tomcat
- 力扣376. 摆动序列(JavaScript)
- java获取异常信息_Python中获取异常(Exception)信息
- 为什么从网页上打印怎们好像被缩放_便捷高效低成本,映美热敏云打印机CTP-180UWE体验...
- C语言之预处理探究(二):条件编译(Condition Compile)
- Java9 jar兼容_java9新特性-6-多版本兼容jar包