Linux 的SSH远程连接 — No.7

为什么使用SSH

简单来说传统的网络服务程序 比如这个ftp ,telnet 这种都是明文传输口令跟数据,所以如果有坏人别有用心的截获这些数据或者命令干一些坏事,那就凉凉,不过通过使用SSH,你可以把所有传输的数据进行加密,这样就保证了信息数据的安全性,另外传输的数据进行了压缩,所以速度还会变快。

SSH客户端远程操作前提

以下操作都基于 Centos8

  1. 网卡模式是否一致 虚拟机跟本地的网络连接里面的要一致
  2. IP是否是同一网段
  3. Linux服务器是否开启SSHD服务,端口22
    这里一般是默认开启的
Linux 的SSH远程连接 --- No.7
  1. 客户端是否有可连接SSHD服务的SSH客户端软件 (这个随意了)
    我这里用的是SecureCRT (这个需要用一下激活工具,主要是没钱) 或者cmder(这家伙比较强悍)
对于网卡模式是否一致
	比如我如果使用的是VMnet0 的话,因为这个端口是是与我的有线连接是接上的此时我用192.168.1.98是可以直接连上的(对应我本机的网关是192.168.1.1),如果是VMnet1 仅主机模式的话,我们此时手动配置
1
Linux 的SSH远程连接 --- No.7


接着去修改下文件之前是配置192.168.1.98的
vi /etc/sysconfig/network-scripts/ifcfg-ens32
因为不需要连接外网自然不需要网关跟dns
好了,这样就配置好了
我用的是192.168.2.2,.1也行 是一定是同一网段,你来个 .1.2肯定不行

Linux 的SSH远程连接 --- No.7


2.进行连接
使用 口令登录
如果现在用cmder进行连接的话目前是第一次连接
会判断第一次连接会判断确定公钥指纹

Linux 的SSH远程连接 --- No.7


如果输入yes 如果选择yes下次再连接这台主机,系统就会认出它的公钥已经保存在本地了,从而跳过警告部分,直接到提示输入密码那里
这个时候服务器会生成一个公钥和一个私钥(密钥只有一份,并在服务),此时将这个公钥会发到本机用户上,此时输入密码,之后进行公钥加密进服务端,用私钥再进行解密得到密码后验证该用户身份,如果匹配则登录成功进在这里插入图片描述在这里插入图片描述
此时我们输入密码,
在这里插入图片描述
使用 密钥登录
就是用户将自己的公钥储存在远程主机上。登录的时候,远程主机会向用户发送一段随机字符串,用户用自己的私钥加密后,再发回来。远程主机用事先储存的公钥进行解密,如果成功,就证明用户是可信的,直接允许登录shell,不再要求密码。所以如果没有这个私钥可以用一下命令来常见

ssh-keygen <== 建立密钥对
在这里插入图片描述

  1. 首先得制作密钥对
  2. 输入你的密码锁在这里插入图片描述
    嫌弃我输的太短我嫌他太麻烦,所以就失败 了
    在这里插入图片描述
    再来一次
Linux 的SSH远程连接 --- No.7

Linux 的SSH远程连接 --- No.7

  1. 那么 在 root 用户的家目录中生成了一个 .ssh 的隐藏目录,内含两个密钥文件。id_rsa 为私钥,id_rsa.pub 为公钥。
    本机生成的如图
    在这里插入图片描述

之后在服务器上安装公钥
把公钥拷贝到linux下/root/.ssh目录下

scp id_rsa.pub root@192.168.2.1:/root/.ssh
1

在linux上吧公钥改名

mv id_rsa.pub authorized_keys
1

客户端无口令操作 命令操作

ssh root@192.168.2.1
1

如果之前有输入过密钥锁码,就多一步,再输一次密钥锁码

SSH操作类型

1. 文件传输
这个没啥说的,用winSCP或者其他的软件进行传输,文件拖拽不多说
比如从本地传一个index.php到linux服务器,一甩就过去了

Linux 的SSH远程连接 --- No.7


2. 命令操作
这就是liunx的基操了不全面说了

原创文章,作者:Zhang Miao Miao,如若转载,请注明出处:https://www.yidc.net/archives/6792