Linux中的SSH服务
目录
基于SSH做远程访问,可以使用ftp服务的相关指令sftp root@192.168.10.10
SSH
SSH(Secure Shell)安全外壳协议,SSH是用来替代常见的不安全的网络应用的协议。比如Telnet、FTP,他们都是基于明文传输的协议,所以很不安全。Openssh 提供基于用户的身份验证,而且能够通过端口隧道转发不安全协议,在隧道里面,数据都是被加密的。
SSH验证:
- password (sent securely)
- RSA and DSA keys (公私钥验证)
- Kerberos
- s/key and SecureID(OTP)
相关联的RPM包:openssh(底层包) 、 openssh-clients 、 openssh-server
服务器端安装: yum install openssh-server (安装了openssh-server会自动安装openssh)
客户端安装: yum install openssh-clients (安装了openssh-clients 会自动安装openssh)
卸载: yum remove openssh (卸载了openssh,然后会自动卸载openssh-server和openssh-clients)
服务:/usr/sbin/sshd
服务端口:tcp / 22
服务器端配置文件:/etc/ssh/sshd_config
客户端配置文件: /etc/ssh/ssh_config
用法:ssh -p 22 root@192.168.10.10 ,如果配置文件中 /etc/ssh/ssh_config 默认是22号端口,则可以直接 ssh root@192.168.10.10
服务开启/关闭/重启/开机自启/开启不自启: systemctl start / stop / restart / enable / disable sshd
ssh服务端的配置文件(部分): /etc/ssh/sshd_config
#Port 22 //默认的端口号为22 修改端口时,取消注释
#LoginGraceTime 2m //ssh登录时,密码验证的超时时间,默认2分钟
#PermitRootLogin yes //是否允许以root用户身份登录
#MaxAuthTries 6 //最大认证次数
#MaxSessions 10 //登录Sessions保持的天数
#PermitEmptyPasswords no //是否允许空密码
PasswordAuthentication yes //开启密码认证
在安装了SSH的机器上,会有ssh和sshd两个程序,分别是 /usr/sbin/sshd 和 /usr/bin/ssh 。

sshd是服务端的程序,ssh是客户端的程序。我们现在用Xshell连接主机,此时主机上运行的是sshd程序。

我们现在用该主机连接其他的主机,此时我们上面还会运行ssh程序


在 /etc/ssh/ 下面有 ssh_config 和 sshd_config ,分别是客户端的配置文件和服务端的配置文件。

使用scp在两台Linux间传数据:
本机传数据给目的主机
- scp /etc/fstab root@192.168.10.10:/tmp 将本机 /etc/fstab 文件传送到目的主机的 /tmp目录下
- scp -r /etc/ssh/ root@192.168.10.10:/tmp 将本机 /etc/ssh/ 文件夹传送到目的主机的 /tmp 目录下
将目的主机的数据下载到本地
- scp root@192.168.10.5:/etc/fstab /tmp 将目的主机的 /etc/fstab 文件下载到本机的 /tmp 目录下
- scp -r root@192.168.10.5:/etc/ssh/ /tmp 将目的主机的 /etc/ssh/ 文件夹下载到本机的 /tmp 目录下
基于SSH做远程访问,可以使用ftp服务的相关指令
- sftp root@192.168.10.10
- get /etc/fstab 将远端主机的 /etc/fstab下载到本机
- put /etc/fstab 将本机的 /etc/fstab 上传到远端主机

注:通过 sftp 成功登录,在对端主机的/var/log/wtmp是没有日志信息的。但是如果sftp登录失败,在对端主机的/var/log/btmp是有日志信息的。
查看本机有多少终端登录: who 和 w
通过 who 显示远端10.0.0.1的地址通过ssh登录本机,然后本机开了两个tty终端
然后再通过 w 可以查看他是几点登录的,当前正在运行的命令是top
然后在通过 ps aux | grep pts 可以看到pts进程以及子进程
Openssh公私钥验证:
- 在主机A上,使用 ssh-keygen,然后输入保存的文件名(默认为id_rsa)和自己的私钥,完成之后会在 ~/.ssh/ 生成的两个密钥: id_rsa(私钥) 和 id_rsa.pub(公钥)
- 私钥(id_rsa)保存在本地主机,公钥(id_rsa.pub)通过 ssh-copy-id root@192.168.1.200 会自动传递到对端B主机的~/.ssh/目录下,并且自动重命名为 authorized_keys
- 登录目标主机: ssh root@192.168.1.200 使用刚刚输入的私钥登录
使用 ssh-keygen ,然后回车(默认是生成文件名为 id_rsa ,也可以自己手动输入修改),然后再输入私钥密码
可以看到,在 /root/.ssh/ 目录下已经生成了 id_rsa 私钥和 id_rsa.pub 公钥了
进入/root/.ssh/目录,使用 ssh-copy-id root@192.168.1.200 命令,它会将 id_rsa.pub 公钥传到目标主机 ~/.ssh/ 目录下,并且会自动重命名为 authorized_keys
可以看到,目标主机已经收到 id_rsa.pub公钥了,并且已经重命名为 authorized_keys
然后在主机上 ssh root@192.168.1.200 然后输入我们自己的私钥就可以登录了。
Linux中的SSH服务的更多相关文章
- 使用Linux系统中的SSH服务
使用Linux系统中的SSH服务 1.SSH服务应用场景 ① 可以实现对文件的上传与下载 ② 实现远程管理Linux 2.安装SSH服务器 服 务:sshd 位 置:光盘2 软 件:openssh-s ...
- 如何在ubuntu中启用SSH服务
如何在ubuntu14.04 中启用SSH服务 开篇科普: SSH 为 Secure Shell 的缩写,由 IETF 的网络工作小组(Network Working Group)所制定:SSH 为 ...
- docker中安装ssh服务
系统:Debian Docker 目标:在docker(debian系统)中安装ssh服务,实现远程登陆和控制docker 步骤: 初始状态:通过docker pull debian得到的一个debi ...
- Linux中如何设置服务自启动?
转自:Linux中如何设置服务自启动? 有时候我们需要Linux系统在开机的时候自动加载某些脚本或系统服务,主要用三种方式进行这一操作: ln -s 在/etc/rc.d/rc ...
- Linux中的sshd服务
Linux中的sshd服务,主要用于pst终端,远程连接到linux服务中 看sshd服务状态 service sshd status 停止sshd服务 service sshd stop 启动ssh ...
- win10下Linux子系统开启ssh服务
原文:win10下Linux子系统开启ssh服务 为了便于交流共同学习,博主QQ群242629020(stm32-MCU认认真真交流群) 欢迎批评指导!!!电梯:https://jq.qq.com/? ...
- Linux中解决SSH连接慢问题
[转载]来源:http://www.bkjia.com/xtzh/893669.html [转载原因]:其他文章都是修改服务器端配置,但为了保证服务器端安全问题,一般情况下最好不要修改服务器端配置.因 ...
- Linux 下开启ssh服务(转)
二.SSH SSH 为 Secure Shell 的缩写,由 IETF 的网络工作小组(Network Working Group)所制定:SSH 为建立在应用层和传输层基础上的安全协议.SSH 是目 ...
- Kali Linux上安装SSH服务
安装 SSH 从终端使用 apt-get 命令安装 SSH 包: # apt-get update # apt-get install ssh 启用和开始使用 SSH 为了确保安全 shell 能够使 ...
随机推荐
- 使用Groovy构建DSL
DSL(Domain Specific Language)是针对某一领域,具有受限表达性的一种计算机程序设计语言. 常用于聚焦指定的领域或问题,这就要求 DSL 具备强大的表现力,同时在使用起来要简单 ...
- 『力荐汇总』这些 VS Code 快捷键太好用,忍不住录了这34张gif动图
之前写过三篇文章,收获了极其不错的阅读量与转发量: 你真的会用 VS Code 的 Ctrl.Shift和Alt吗?高效易用的快捷键:多光标.跳转引用等轻松搞定 VS Code 中的 Vim 操作 | ...
- Linux速通04 用户、群组、权限
用户及passwd文件 # /etc/passwd文件的功能:存储所有用户的相关信息,实际上是存放用户信息的数据库(database) # 各个字段的含义: * 第一个字段(列)记录的是这个用户的名字 ...
- C++图论算法——图的储存方式
使用二维数组邻接矩阵储存图 无向图: 图G 定义图G[101][101],G[i][j]的值表示从结点vi到vj是否有边或弧,若有,取值为1或权值,若无,则取值为0或∞.以下是图G用邻接矩阵表示的列表 ...
- 如何在 C# 中使用 ArrayPool 和 MemoryPool
对资源的可复用是提升应用程序性能的一个非常重要的手段,比如本篇要分享的 ArrayPool 和 MemoryPool,它们就有效的减少了内存使用和对GC的压力,从而提升应用程序性能. 什么是 Arra ...
- 内置了一个缓冲区(数组)缓冲流BufferInputStream为何要配合字节数组的使用?
内置了一个缓冲区(数组)缓冲流BufferInputStream为何要配合字节数组的使用? 只为效率而积累[积少成多送一趟比送多趟快] 举例子:超市买30个鸡蛋回家煮 (1)读一个送一个(效率太低啦) ...
- 绿色物流-智慧仓储监控管理 3D 可视化系统
前言 随着电子商务产业的迅速发展,快递爆仓已成为了困扰仓储物流的一大难题.大量的碎片化订单,传统仓储管理和运作方式已无法满足,加速仓储物流管理的智能化.自动化升级创新,延伸而出的智慧物流概念成为物流行 ...
- BIMFACE二次开发SDK 开源C#版
[ BIMFace.SDK.CSharp ] 是基于微软.NET 技术封装的用于 BIMFACE 二次开发的通用类库.其中封装了BIMFace服务端API,包含基础API.文件上传API.文件转换AP ...
- python之pillow模块学习--验证码的生成和破解
一.基础学习 在Python中,有一个优秀的图像处理框架,就是PIL库,pip install pillow 示例1 from PIL import Image # 读取当前图片 im = Image ...
- Java系列教程-Spring 教程目录
Spring 教程目录 可参考MyBatis的官方文档也比较清楚 https://mybatis.org/mybatis-3/zh/getting-started.html 代码 目录 https:/ ...