SSH远程管理

摘要:
目录SSH远程管理SSH功能SSH相关命令Xshell无法连接到虚拟机scp命令SSH身份验证模式优化无交互预期[扩展]无交互sshpass[扩展]简单跳板摘要SSH远程管理SSH功能SSH是一种安全协议。在数据传输过程中,数据包将被加密,加密后,数据将被传输。

目录
SSH远程管理

ssh功能

SSH是一个安全协议,在进行数据传输时,会对数据包进行加密处理,加密后在进行数据传输。确保了数据传输安全。那SSH服务主要功能有哪些呢?

1.提供远程连接服务器的服务

2.对传输的数据进行加密

Linux远程链接:ssh协议(加密) telnet(明文)

windows远程连接:RDP协议 (remote desktop)

协议端口
ssh22
telnet23
RDP3389
http80
https443
FTP20 21
POP3110
MySQL3306
Rsync873
DNS53

SSH相关命令

SSH有客户端与服务端,我们将这种模式称为C/S架构,ssh客户端支持Windows、Linux、Mac等平台。在ssh客户端中包含 ssh|slogin远程登陆、scp远程拷贝、sftp文件传输、ssh-copy-id秘钥分发等应用程序。

[root@m01 ~]# ssh root@10.0.0.41
ssh:客户端命令
root:系统用户名
@:分割用户和主机
10.0.0.41:主机的IP(可以是公网也可以是内网)
-p:指定端口

Xshell连接不上虚拟机

1.检查网络

#连谁ping谁
ping 10.0.0.41
tcping 10.0.0.41 22

2.检查端口

telnet 10.0.0.41 22
tcping 10.0.0.41 22

3.如果可以ping通,端口不通

#检测sshd服务是否启动
netstat -lntup|grep 22

#防火墙 selinux
systemctl stop firewalld
setenforce 0

scp命令

# -P 指定端口,默认22端口可不写
# -r 表示递归拷贝目录
# -p 表示在拷贝文件前后保持文件或目录属性不变
# -l 限制传输使用带宽(默认kb)

#推:将本地/tmp/oldboy推送至远端服务器10.0.0.61的/tmp目录,使用对端的root用户
[root@m01 ~]# scp -P22 -rp /tmp/oldboy oldboy@10.0.0.61:/tmp

#拉:将远程10.0.0.61服务器/tmp/oldboy文件拉取到本地/opt/目录下
[root@m01 ~]# scp -P22 -rp root@10.0.0.61:/tmp/oldboy /opt/

#限速
[root@m01 ~]# scp /opt/1.txt root@172.16.1.31:/tmp
root@172.16.1.31 password: 
test                        100%  656MB  '83.9MB/s'   00:07 
#限速为8096kb,换算为MB,要除以 8096/8=1024KB=1MB
[root@m01 ~]# scp -rp -l 8096  /opt/1.txt root@172.16.1.31:/tmp
root@172.16.1.31s password: 
test                        7%   48MB   '1.0MB/s'   09:45 

结论:
1.scp通过ssh协议加密方式进行文件或目录拷贝。
2.scp连接时的用户作为为拷贝文件或目录的权限。
3.scp支持数据推送和拉取,每次都是全量拷贝,效率较低。


Sftp远程数据传输命令

SSH验证方式

1.用户名密码

[root@m01 ~]# ssh root@10.0.0.41

2.密钥登陆方式

默认情况下,通过ssh客户端命令登陆远程服务器,需要提供远程系统上的帐号与密码,但为了降低密码泄露的机率和提高登陆的方便性,建议使用密钥验证方式。

img

1.管理机生成密钥对

[root@m01 ~]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:P6UswOccoZSLunZ0gekcQ/gDzhFNkH/+I1WHhtwQro8 root@m01
The key's randomart image is:
+---[RSA 2048]----+
|  oB.   ..       |
|  = o  o.        |
| o * oo.o+ .     |
|  o O+o+o.= .    |
|   o.**.So ..    |
|   .+ oB.+ o     |
|  .. .Eo= =      |
|  ... . o. .     |
| ...   . .       |
+----[SHA256]-----+

[root@m01 ~]# ll .ssh/
total 8
-rw------- 1 root root 1679 Aug  8 19:07 id_rsa			#私钥(宝塔镇河妖)
-rw-r--r-- 1 root root  390 Aug  8 19:07 id_rsa.pub		#公钥(天王盖地虎)

2.管理机推送公钥

方式一(手动):
#在要连接的服务器上家目录下创建.ssh目录(用哪个用户连,就创建在哪个家目录下)
mkdir /root/.ssh
#授权700
chmod 700 /root.ssh
mkdir -m 700 ~/.ssh#一条命令实现
#在m01上查看公钥文件内容
cat .ssh/id_rsa.pub 
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDuxyeePaQr6cI6KMINgW7262dDdfgiiwspNjKYEoEj7cfjpMBPBCpqTO4H5+E8U/GcxsFcj2S2fHlRevPMa8vXYqOvX3O0Xp/C9zNMJrNdT+NdpCnDHRpsF4/Egr0xxKju7LPC1qz/Gu6ksx1VqUmcX2RKrQdV2BYi+pqu/2SQYOUUjKpen0zWxnhjuVmZMV+hPHgs4ILbGwwmYxqY+ldvP0guviQ2CeK1JtQIbP2Q5bBSlMwPxr4P303LUkIBsI3pHRoCMnDT0YI9x9JjdRkkUNjeFoTAE4APsTgICd6nzRBfRRf/VOYk5REuub367yxrOZpfNXOcJ6QCRLYQl6Xn root@m01

#创建公钥文件authorized_keys
vim ~/.ssh/authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDuxyeePaQr6cI6KMINgW7262dDdfgiiwspNjKYEoEj7cfjpMBPBCpqTO4H5+E8U/GcxsFcj2S2fHlRevPMa8vXYqOvX3O0Xp/C9zNMJrNdT+NdpCnDHRpsF4/Egr0xxKju7LPC1qz/Gu6ksx1VqUmcX2RKrQdV2BYi+pqu/2SQYOUUjKpen0zWxnhjuVmZMV+hPHgs4ILbGwwmYxqY+ldvP0guviQ2CeK1JtQIbP2Q5bBSlMwPxr4P303LUkIBsI3pHRoCMnDT0YI9x9JjdRkkUNjeFoTAE4APsTgICd6nzRBfRRf/VOYk5REuub367yxrOZpfNXOcJ6QCRLYQl6Xn root@m01

#授权600
chmod 600 ~/.ssh/authorized_keys
方式二:
#使用命令推送公钥
[root@m01 ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub root@172.16.1.7

优化

SSH作为远程连接服务,通常我们需要考虑到该服务的安全,所以需要对该服务进行安全方面的配置。

1.更改远程连接登陆的端口

2.禁止ROOT管理员直接登录

3.密码认证方式改为密钥认证

4.重要服务不使用公网IP地址

5.使用防火墙限制来源IP地址*

编辑配置文件

vim /etc/ssh/sshd-config
###SSH###
#Port 6666 #端口
#PasswordAuthentication no #密码
#PermitRootLogin no #root
GSSAPIAuthentication no #
UseDNS no
###END###

免交互expect[扩展]

1.安装expect

[root@m01 ~]# yum install -y expect

2.编写expect脚本

#!/usr/bin/expect
set ip 10.0.0.51
set pass 123456
set timeout 30
spawn ssh root@$ip
expect {
        "(yes/no)" {send "yes
"; exp_continue}
        "password:" {send "$pass
"}
}
expect "root@*"  {send "df -h
"}
expect "root@*"  {send "exit
"}
expect eof

免交互sshpass[扩展]

1.安装sshpass

[root@m01 ~]# yum install -y sshpass

2.使用sshpass命令

[root@m01 ~]# sshpass -p 123456 ssh root@10.0.0.51

[option]
-p:指定密码
-f:从文件中取密码
-e:从环境变量中取密码
-P:设置密码提示

简易跳板机

#!/bin/bash


if [ $1 == 'web01' -o $1 == '10.0.0.7' ];then
        ssh root@172.16.1.7
elif [ $1 == 'backup' -o $1 == '10.0.0.41' ];then
        ssh root@171.16.1.41
elif [ $1 == 'nfs' -o $1 == '10.0.0.31' ];then
        ssh root@172.16.1.31
elif [ $1 == 'm01' -o $1 == '10.0.0.61' ];then
        ssh root@172.16.1.61 -p 22
fi
~                                                              

小结

  • 权限 1:禁止root用户登录时,普通用户权限700或者属主属组统一,
  • 公钥,注意存放路径,普通用户家目录下,公钥文件授权600

免责声明:文章转载自《SSH远程管理》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇SpringBoot全局时间date和localDateTime格式失效问题记录css如何画出类似原生的线条?下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

菜鸟初学Linux——Ubuntu系统中,用root权限进行复制粘贴操作

long long ago,积累了一些Linux的小知识,拿出来分享一下,希望以后能够在工作上带来一些帮助。 方法一 第一步:打开终端,在命令行里输入sudo nautilus第二步:输入你的用户的密码第三步:在弹出的窗口中打开需要操作的目录第四步:把你所需要的其他目录中的文件进行复制,并且粘贴到当前的这个目录中。或者:也可以在当前目录窗口中删掉不想要...

使用rsync基于ssh免密登陆进行备份或目录同步

日常工作中有很多的备份工作,rsync是一个很不错的工具,尝试使用基于ssh免密登陆的方式进行备份,测试成功,是可行且方便的方法,撰文记之,以备后用: 1.A主机root用户对B主机root用户做ssh免密登陆,此过程不再赘述,请自行百度。 2.A主机安装rsync命令:yum install rsync -y 3.在A主机根目录下创建/ceshi目录,...

Zabbix安装与简单配置

目录 0. 前言 1. 安装 1.1 准备安装环境 1.1.1 下载安装包 1.1.2 修改文件配置 1.2 开始安装 2. 实验环境 2.1 简易拓扑图 2.2 基本配置 3. 配置 0. 前言 不管是在局域网、广域网还是数据中心IDC,一个健康的网络环境,都离不开一套网管系统。 网管系统不限于如下: 监控平台:用于监控网络设...

VMware ESXi 6.7主机启用 Shell 及 SSH 服务

第一步、ESXI打开ssh功能按住F2进入设置如下图: 第二步、输入密码 第三步、选择 Troubleshooting Options 菜单,按下 Enter 进入 第四步、选中 ESXi Shell 菜单,按下 Enter,使右边显示“ESXi Shell is Enabled”,连续按 Esc 退出即可 第五步、通过Xshell工具连接ESXI...

关于linux免密登录的配置及ssh客户端基于私钥文件的登录

操作系统环境: CentOS Linux release 7.7.1908 (Core) 1、首先在linux服务器上,使用ssh-keygen命令生成密钥对文件(一直回车即可,默认使用rsa算法),如下所示       其中还支持的算法有dsa | ecdsa | ed25519 | rsa | rsa1,使用其他算法只需要使用-t选项指定即可    ...

在VMware下进行的使用ssh服务管理远程主机

基于密钥的安全验证--sshd服务的配置文件解析(两台linux) 首先你有两台虚拟机 并且能够ping通(该实验的目的是通过客户端访问服务端) 打开终端进入到这个界面 看一下服务 如果有这三个服务就可以忽略下面的卸载和安装两个步骤 在本地机(客户端)    输入命令:rpm -qa | grep openssh      卸载  输入命令:  y...