基于ssh的远程连接服务器

文章目录

  • 远程连接服务器
  • 客户端连接服务端

远程连接服务器

远程连接服务器通过文字图形接口方式来远程登录系统,让你在远程终端前登录 linux 主机以取得可操作主机接口(shell),而登录后的操作感觉就像是坐在系统前面一样。
而他以登录的连接界面可以分为两类:

  • 文字接口:
    - 明文传输:Telnet、RSH…
    - 密文传输:SSH…(主要)
  • 图形接口:VNC…

SSH(Secure Shell Protocol,安全的壳程序协议),它可以通过数据包加密技术将等待传输的数据包加密后再传输到网络上。ssh协议本身提供两个服务器功能:一个是类似telnet的远程连接使用shell的服务器;另一个就是类似ftp服务的sftp-server,提供更安全的ftp服务。

客户端连接服务端

同样用两台Linux主机来模拟客户端与服务端的连接,此前应该做的准备是装包和服务器调试防火墙
查看已安装的包:rpm -qa | grep ssh
CentOS自动安装
基于ssh的远程连接服务器_第1张图片
可以发现一个服务端的 openssh-server 包和客户端的 openssh-clients
分别在服务端创建用户 student 、在客户端创建用户 xiaoming ,一会使用 xiaoming 用户连接 student 用户:useradd student / useradd xiaoming
在这里插入图片描述
给 student 用户一个密码,便于做密码认证:echo 123 | passwd --stdin student
基于ssh的远程连接服务器_第2张图片
关闭防火墙:systemctl stop firewalld
也可以进行防火墙策略配置:firewall-cmd --permanent --add-port=2222/tcp success / firewall-cmd --reload
基于ssh的远程连接服务器_第3张图片
关闭 selinux :setenforce 0
基于ssh的远程连接服务器_第4张图片


先使用 xiaoming 用户登录一下 student 用户:ssh [email protected] (student 的IP)
基于ssh的远程连接服务器_第5张图片
我们接下来尝试一下免密登录

客户端生成密钥:ssh-keygen -t rsa
基于ssh的远程连接服务器_第6张图片
在 xiaoming 的家目录下生成了隐藏文件,我们 tree 一下
基于ssh的远程连接服务器_第7张图片
可以看到该目录下有 id_rsaid_rsa.pub 两个文件,一个为私钥一个为公钥(非对称加密),我们需要将公钥传到 student 的家目录下的 .ssh 目录下,这样才可以实现免密登录
首先,我们以 student 的身份创建 .ssh 目录:mkdir .ssh
基于ssh的远程连接服务器_第8张图片
将该目录权限改为 700,与客户端保持一致:chmod 700 .ssh
基于ssh的远程连接服务器_第9张图片
接下来就是传文件
最常见的传文件就是 scp ,传过去之后改为规定的名字就好;不过我们 SSH 有特有的传公钥的方法:ssh-copy-id [email protected]
基于ssh的远程连接服务器_第10张图片
可以看到 student 用户 .ssh 目录下多了一个文件
在这里插入图片描述
authorized_keys 是公钥在服务端保存的方式,我们也可以 cat 一下
在这里插入图片描述
当然做了这些就可以免密登录了,在客户端用 xiaoming 测试:ssh [email protected]
基于ssh的远程连接服务器_第11张图片
我们可以清楚的看到,不仅可以免密登录,就连 xiaoming 的环境变量文件也可以加载($PS1 变成了我设置的颜色及格式)

你可能感兴趣的:(Linux,服务器,ssh,linux)