Linux远程访问及控制SSH命令

这篇具有很好参考价值的文章主要介绍了Linux远程访问及控制SSH命令。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一. SSH服务

1.1 SSH基础

1.1.1什么是SSH服务器?

SSH(Secure Shell)是一种安全通道协议,主要用来实现字符界面的远程登录、远程 复制等功能;

SSH 协议对通信双方的数据传输进行了加密处理,其中包括用户登录时输入的用户口令;

SSH 为建立在应用层和传输层基础上的安全协议。对数据进行压缩,加快传输速度。

SSH客户端<--------------网络---------------->SSH服务端

1.1.2SSH优点

数据传输是加密的,可以防止信息泄漏

数据传输是压缩的,可以提高传输速度

1.1.3常见的ssh协议

客户端: Linux Client: ssh, scp, sftp,slogin Windows Client:xshell, MobaXterm,putty, securecrt, sshsecureshellclient
OpenSSH 是实现SSH协议的开源软件项目,适用于各种UNIX、 Linux 操作系统。
Centos 7系统默认已安装openssh相关软件包,并将sshd 服务添加为开机自启动。
执行"systemctl start sshd"命令即可启动sshd 服务
sshd 服务默认使用的是TCP的22端口,安全协议版本sshv2,出来2之外还有1(有漏洞)
sshd服务的默认配置文件是/etc/ssh/ssh_config和sshd_config都是ssh服务器的配置文件,二者区别在于前者是针对客户端的配置文件,后者则是针对服务端的配置文件

服务名称 : sshd
服务端主程序: /usr/sbin/sshd
服务端配置文件 : /etc/ssh/sshd_config
客户端配置文件: /etc/ssh/ssh_config

二. 服务端配置文件常用选项

linux ssh远程登录命令,Linux命令讲解,linux,ssh,服务器,运维,网络linux ssh远程登录命令,Linux命令讲解,linux,ssh,服务器,运维,网络

2.1设置白名单

AllowUsers zhangsan lisi@192.168.137.101 仅允许zhangsan,lisi在此用户上登录,且lisi只能在此主机下远程登录

linux ssh远程登录命令,Linux命令讲解,linux,ssh,服务器,运维,网络linux ssh远程登录命令,Linux命令讲解,linux,ssh,服务器,运维,网络

2.2设置黑名单

DenyUsers zhangsan lisi@192.168.137.101禁止zhangsan和lisi在此主机上远程登陆且lisi只禁止在101上登录

linux ssh远程登录命令,Linux命令讲解,linux,ssh,服务器,运维,网络linux ssh远程登录命令,Linux命令讲解,linux,ssh,服务器,运维,网络linux ssh远程登录命令,Linux命令讲解,linux,ssh,服务器,运维,网络

三. SSH服务的两种验证方式

  1. 密码验证:对服务器中本地系统用户登录名称,密码进行验证,简单,但可能会被暴力破解
  2. 密钥对验证:要求提供相匹配的密钥才能进行验证通过,通常先在客户端中创建一对密钥文件(公钥和私钥),然后将公钥文件放到服务器中指定位置,远程登录时,系统会使用公钥和私钥进行加密/解密关联验证,增加安全性,且可以免密交互登录。

3.1 公钥与私钥的关系

  1. 公钥和私钥是成对生成的,这两个密钥互不相同,可以互相加密和解密
  2. 不能根据一个密钥来推算另一个密钥
  3. 公钥对外公开,私钥只有私钥持有人才知道

当密码验证和密钥验证同时开启时,服务器会优先使用密钥对验证

vim /etc/ssh/sshd_config 配置文件
PasswordAuthentication yes 启用密码验证
PubkeyAuthentication yes 启用密钥对验证
AuthorizedkeysFile .ssh/authorized_keys 指定公钥库文件

四. ssh客户端程序

4.1ssh远程登录

ssh [选项] 用户@ip
-p指定端口号

当用户第一次远程登陆时,必须接受服务器发来的ECDSA密钥验证,接收的密钥信息存放到~/.ssh/known_hosts文件中,验证成功后,即登陆目标服务器命令环境中了

linux ssh远程登录命令,Linux命令讲解,linux,ssh,服务器,运维,网络linux ssh远程登录命令,Linux命令讲解,linux,ssh,服务器,运维,网络

4.2 scp 远程复制

下行复制:

scp root@192.168.137.101:/etc/passwd /root/passwd.txt
将远程主机中的/etc/passwd文件复制到本机中

linux ssh远程登录命令,Linux命令讲解,linux,ssh,服务器,运维,网络上行复制:

scp -r /etc/ssh/ root@192.168.137.102:/opt
将本机中的/etc/ssh目录复制到远程主机中

此复制若对方主机有同名文件则会自动覆盖

linux ssh远程登录命令,Linux命令讲解,linux,ssh,服务器,运维,网络
linux ssh远程登录命令,Linux命令讲解,linux,ssh,服务器,运维,网络
补充:

linux ssh远程登录命令,Linux命令讲解,linux,ssh,服务器,运维,网络

4.3 sftp 安全的ftp

由于使用了加密/ 解密技术,所以传输效率比普通的FTP低,但是安全性更高

五. 配置密钥对验证

  1. 在客户端创建密钥对,在自己的家目录中.ssh目录中生成私钥和公钥

ssh -keygen -t rsa

  1. ssh -copy-id -p 端口号 -i id-rsa.pub 用户@ip地址
    注意生成的.ssh权限要700 authorized _keys 权限为600

linux ssh远程登录命令,Linux命令讲解,linux,ssh,服务器,运维,网络
linux ssh远程登录命令,Linux命令讲解,linux,ssh,服务器,运维,网络linux ssh远程登录命令,Linux命令讲解,linux,ssh,服务器,运维,网络
linux ssh远程登录命令,Linux命令讲解,linux,ssh,服务器,运维,网络

5.1免交互验证:

就是在创建密钥对时不设置密钥对密码

5.2 在已有的密钥密码验证下实现免交互

ssh - agent bash 设置一个代理(只在当前环境中)
ssh - add 在输入密钥密码

但此操作只能在当前会话中有效,重启则失效

linux ssh远程登录命令,Linux命令讲解,linux,ssh,服务器,运维,网络
linux ssh远程登录命令,Linux命令讲解,linux,ssh,服务器,运维,网络

六. TCP Wrappers 访问控制 (TCP封套)

将tcp服务程序包裹起来,代为监听tcp服务程序的端口,增加了一个安全检测过程,外来的连接请求必须通过这层安全检测,获得许可后才能进访问真正的服务程序

6.1 TCP Wrappers保护机制的两种实现方式

  1. 直接使用tcpd程序对其他的服务进行保护,需要允许tcpd程序
  2. 其他网络服务程序调用libwrap.so * 链接库,不用运行tcpd程序,此方法更加有效

使用 lld 命令查看程序的libwrap.so 链接库

lld $(which sshd)

linux ssh远程登录命令,Linux命令讲解,linux,ssh,服务器,运维,网络

6.2 TCP Wrappers 访问策略

为各种网络服务程序,针对访问服务的客户端地址进行访问控制,对应的策略文件为/etc/hosts.allow和/etc/hosts.deny分别来设置允许和拒绝访问

格式:《服务程序列表》:《客户端地址列表》
客户端地址列表允许使用通配符 * ?

6.3 基本原则

先检查/etc/hosts.allow 文件,密钥则检查/etc/hosts.deny 文件,若都没有相匹配的策略,则全部允许访问

例如
如果我只希望从ip地址为12.0.0.1主机或位于192.168.137.101的主机访问ssh服务,其他的拒绝

vim /etc/hosts.allow
sshd:12.0.0.1,192.168.137.101
vim /etc/hosts.deny
sshd:ALL

在192.168.137.102中设置白名单和黑名单

linux ssh远程登录命令,Linux命令讲解,linux,ssh,服务器,运维,网络
linux ssh远程登录命令,Linux命令讲解,linux,ssh,服务器,运维,网络
linux ssh远程登录命令,Linux命令讲解,linux,ssh,服务器,运维,网络linux ssh远程登录命令,Linux命令讲解,linux,ssh,服务器,运维,网络文章来源地址https://www.toymoban.com/news/detail-775428.html

到了这里,关于Linux远程访问及控制SSH命令的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • linux ssh远程登录

    目录 一、ssh概念 二、配置文件 三、ssh组成结构 四、远程控制过程 五、远程复制  六、配置密钥 七、wraooers防火墙                     一、ssh概念   ssh:一种安全通道协议 功能:1.实现字符界面远程登录 2.远程复制 3.ssh协议是对通信对方的数据传输进行加密出来,包括用

    2024年02月06日
    浏览(34)
  • Linux开启ssh远程登录

    你好! 这里介绍了Linux系统Centos、Ubuntu环境下开启ssh的方法。 安装openssh-server; 修改sshd服务配置文件 开启监听端口,去掉前面的#注释即可 允许远程登录 使用用户名密码作为验证连接 开启sshd服务 7.配置开机自启动 安装ssh服务器端,Ubuntu默认没有安装ssh的server,需要安装 修

    2024年02月07日
    浏览(30)
  • Linux配置SSH远程登录管理

    目录 一、SSH协议 1.SSH简介 2.SSH的优点 3.SSH远程控制软件及服务 二、SSH远程管理配置 1.配置OpenSSH服务端 2.使用SSH客户端软件 (1)SSH远程登录 (2)scp远程传输文件 3.SSH登录验证的两种验证方式 (1)密码验证 (2)密钥对验证         SSH 为 Secure Shell的缩写, 为建立在应用

    2024年02月07日
    浏览(45)
  • Linux添加新用户及SSH远程登录|解决无法添加SSH的问题

    Linux 创建新用户主要有两条命令: adduser 和 useradd ,与其对应的两种删除用户的命令: deluser 和 userdel adduser :自动为新建的用户创建用户组、用户目录、选择shell版本并添加用户密码 useradd :需要靠添加参数来指定设置上述哪些变量,如未添加参数 则新建的用户均无上述变

    2024年02月12日
    浏览(51)
  • 【Linux】无法通过SSH远程登录root账户

    问题描述 想要使用ssh直接远程到root账户下,提示Permission denied,再三确定不是因为输入的root密码错误造成的 先通过登录普通账户 使用su - root方式登录,接下来解决问题~ 问题分析 查看与ssh相关的配置文件/etc/sshd/sshd_config 找到PermitRootLogin配置项,发现 PermitRootLogin no PermitRo

    2024年01月18日
    浏览(49)
  • Linux设置远程调试ssh允许root登录

    默认情况安装完SSH服务并开启,root是不允许登录的,所以以下步骤必须完成 1、已经安装完ssh以后,找到ssh配置文件 /etc/ssh/sshd_config 2、使用终端命令gedit /etc/ssh/sshd_config 命令修改文件 3、找到配置项PermitRootLoginwithout-password,最左边加上#号注释这一行 如下图: 4、换行编写

    2024年02月10日
    浏览(41)
  • Linux Debian11服务器安装SSH,创建新用户并允许SSH远程登录,及SSH安全登录配置!

    在Debian 11服务器上安装SSH并创建新用户允许SSH远程登录的步骤如下: 步骤1:安装SSH 为了安装SSH服务器,您需要以root用户或具有sudo特权的用户身份登录到您的Debian 11服务器。 在终端中执行以下命令来安装SSH服务器: 步骤2:创建新用户 要创建一个新用户,您可以使用  add

    2024年02月12日
    浏览(42)
  • Linux Debian11服务器安装SSH,创建新用户并允许SSH远程登录,及SSH安全登录配置

    一、在 Debian 中添加 sudo 用户 1.创建新用户 首先,要创建用户,当前用户必须是 root 用户或者 sudo 用户。 使用下面adduser 命令创建一个用户名为test的sudo用户,按照提示输入密码,使用 adduser 命令,还会创建用户的主目录。 sudo adduser test 2.将用户成为 sudo 用户 创建test用户后,

    2024年02月05日
    浏览(55)
  • 第一章:Linux常用命令+VIM+SSH介绍+SSH密钥登录

    目录 一、Linux常用命令 1)# 与 $ 提示的区别 2)ifconfig 3) su 4) cd 5) 目录查看 6) 查看文件内容 7)创建目录及文件 8)复制和移动 9)其他 10) tar 11) which 12) whereis 13) find 14) chmod 二、vim一般使用 三、SSH介绍 1) 什么是SSH 2)SSH服务端和客户端 3)基本工作机制 四、

    2024年02月13日
    浏览(48)
  • UOS Deepin Ubuntu Linux 开启 ssh 远程登录

    打开控制台 安装 openssh-server 修改 /etc/ssh/ssh_config 文件 找到 # Port 22 去掉 # 注释后 保存 重启 ssh 服务 设置 ssh 服务 开机自启动

    2024年02月07日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包