SSH远程连接

SSH远程连接

一、SSH介绍

  • SSH应用层协议
    • 实现Linux主机加密、远程连接
    • 适用于Linux服务器远程连接
  • Telnet
    • 远程连接,不加密
    • 适用于局域网网络设备的远程连接

1、管理Linux服务器的方式

  • 本地连接
    • 安装系统、故障修复
  • 远程管理

2、确保Linux服务正常启动ssh服务

1)确认ssh服务正常运行
[root@localhost ~]# ps -elf | grep ssh
4 S root       6541      1  0  80   0 - 28189 poll_s 09:55 ?        00:00:00 /usr/sbin/sshd -D
4 S root       6806   6541  0  80   0 - 39288 poll_s 09:56 ?        00:00:00 sshd: root@pts/0
0 S root       6851   6808  0  80   0 - 28177 pipe_w 10:20 pts/0    00:00:00 grep --color=auto ssh
[root@localhost ~]# netstat -tunlp | grep "sshd"
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      6541/sshd           
tcp6       0      0 :::22                   :::*                    LISTEN      6541/sshd    
  • ssh服务端口: 22/tcp
2) 对应服务端软件
[root@localhost ~]# rpm -qf /usr/sbin/sshd 
openssh-server-7.4p1-16.el7.x86_64

3、客户端软件

  • windows
    • xshell
    • secureCRT
    • putty
  • Linux
    • ssh命令
[root@localhost ~]# which ssh
/usr/bin/ssh
[root@localhost ~]# rpm -qf /usr/bin/ssh
openssh-clients-7.4p1-16.el7.x86_64

二、ssh远程连接

1、ssh远程连接

# ssh 用户名@服务器地址

2、执行远程命令

[root@localhost ~]# ssh root@192.168.140.10 uptime 
root@192.168.140.10's password: 
 10:33:44 up 38 min,  1 user,  load average: 0.00, 0.01, 0.02

[root@localhost ~]# ssh root@192.168.140.10 ifconfig ens33
root@192.168.140.10's password: 

3、远程拷贝文件

  • scp
  • rsync
    • 增量拷贝工具
1) scp命令的使用
# scp 源文件  用户名@服务器地址:目录 
[root@node01 ~]# scp /opt/file01.txt root@192.168.140.11:/tmp 
[root@node01 ~]# scp root@192.168.140.11:/etc/passwd /tmp/

[root@node01 ~]# scp -r /opt/linux/ root@192.168.140.11:/tmp/
2) rsync命令的使用
  • 确保所有Linux主机正常安装rsync软件
[root@node01 ~]# rsync -av /opt/python/  root@192.168.140.11:/tmp/ 
root@192.168.140.11's password: 
sending incremental file list
./
1.py
10.py
2.py
3.py
4.py
5.py
6.py
7.py
8.py
9.py

sent 581 bytes  received 209 bytes  225.71 bytes/sec
total size is 0  speedup is 0.00
[root@node01 ~]# rsync -av /opt/python/  root@192.168.140.11:/tmp/ 
root@192.168.140.11's password: 
sending incremental file list
./
3.py
7.py

三、SSH怎么实现加密?

  • 利用非对称加密算法
  • ssh首次连接主机时,主机会自动发送自己的密钥,询问是否接受
  • ssh密钥存储位置:
    • ~/.ssh/known_hosts

1、数据加密

  • 利用数学算法、密钥实现加密

2、数据加密算法

  • 对称加密
  • 非对称加密

3、对称加密算法

  • 数据加密、解密使用的密钥是一样的
    在这里插入图片描述

4、非对称加密算法

  • 加密、解密时使用的密钥是不一样的
  • 基于密钥对(公钥、私钥)
    • 本质上就是利用特定的数学算法生成的随机数
  • 公钥加密、私钥解密
    在这里插入图片描述

四、免密SSH

1、ssh认证方式

  • 基于用户名、密码的认证【默认】
  • 基于密钥的认证

2、基于密钥的认证流程

  • 在客户端生成密钥对
  • 将公钥拷贝到服务器

3、配置免密SSH

1) 在客户端生成密钥对
[root@node01 ~]# ssh-keygen -t rsa 
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:SWcLrku9sR+q5j5KgGP6vyhJeS/3LwZxzSs9hbKOecw root@node01.linux.com
The key's randomart image is:
+---[RSA 2048]----+
|                 |
|                 |
|        = +      |
| .   . = O o     |
|o.o   o S +      |
|o+ o . = +       |
|o.. o X + o      |
|o. + *oE = .     |
| .o.**O+*o.      |
+----[SHA256]-----+
[root@node01 ~]# ls /root/.ssh/
id_rsa  id_rsa.pub  known_hosts
2) 将公钥拷贝到服务器
[root@node01 ~]# ssh-copy-id root@192.168.140.11 
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@192.168.140.11's password: 

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'root@192.168.140.11'"
and check to make sure that only the key(s) you wanted were added.
  • 自动将公钥拷贝到对方服务器用户家目录
    • /root/.ssh/authorized_keys(公钥存放目录名)
3) 验证
[root@node01 ~]# ssh root@192.168.140.11 ifconfig ens33

4、注意事项

  • 免密SSH基于用户
  • 免密SSH是单向的

5、配置windows与Linux间的免密

1) 在windows生成密钥对

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

2) 将公钥拷贝到服务器
[root@localhost ~]# cat id_rsa_2048.pub >> /root/.ssh/authorized_keys 

[root@localhost ~]# cat /root/.ssh/authorized_keys 
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCtQk+Kx4bafhFsSwZC09RQXT2UIux6KDOeXmzYxN+oZFrXqSIGHHforssyiEUqV9dfETmv6kYencgSsU37ecSpn/3QUVuTU6bu26zF4sSF/w+qYuylJ1TuDg5HsqpRWbrJ5Q8eGLg9lwozlCQ0lswLnxmAM1B66SJuY8Lsm1W9f5XBA/RweNiVJwFHoqLHTVwnn0/Gt/LdfL/LnqH+TxbSjnf9mRdBVtogsAITDCBqpzRDCW/XaBkmKOe9mXC/8rZ6saZdLyZKQXefl52Wdh9mYbRVvO32YTnTdLk1mQ3fwOotBlVIPMMrx2HLRIhQXP1L7q9U4f39uPIqYcT3rUvj root@node01.linux.com
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEArrxv/vWwlcsBBNkYCQ0K07nqqDDbbd27eFRIrT+uX0SQ+i1dIXcBgNDf0Zt3nJw9n8bAnksiKxxC6OzRaCMIm/XDr8V75gd3DybeBXO7IVybA/OAr6LVRY5ehAI9OyqMPe6yUxRyekk6uV3KOattMeD2rya0JBTXnjgZjRqc4pApxdh4pAwZGGtaS447TLogLrdnfxAvcEp7dyXl5li/wPRRB2dHZEjyULErWl+R7+Li0nlz2TO790dqHYBcnqdmwMO5iCjIL5trVRqPAgf1HJ7N7/M298h8nCgYR0w80T/E7d/M9/H5x63UYGF/yck891G9tgtqkJsIgukEOXGudQ==[root@localhost ~]# 
3) 验证

在这里插入图片描述

五、ssh服务配置

1、配置文件

  • /etc/ssh/sshd_config

2、常用配置项

1) 修改ssh服务端口
  • 一般不使用默认端口
Port 44444
[root@localhost ~]# systemctl restart sshd
2) 禁用密码认证
PasswordAuthentication no
3) 禁止root用户远程登录
PermitRootLogin no
4) 禁用DNS反解,加快ssh连接速度
UseDNS no 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小田同学。

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值