SSH服务

本文详细介绍了SSH(安全外壳协议)的基本概念,包括其在远程登录会话中的安全性优势及跨平台适用性。同时,深入讲解了Linux系统下SSH服务的配置方法,包括端口、用户权限、认证方式等关键参数的设定,以及SSH密钥对生成和公钥认证的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SSH简介


  • SSH(安全外壳协议) 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。
  • SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。
  • 利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。
  • SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。
  • SSH客户端适用于多种平台。几乎所有UNIX平台—包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平台,都可运行SSH。

sshd配置


Linux远程连接使用ssh协议:安装openssh软件包,监听22端口;默认安装并启动sshd服务

Windows远程连接rdp协议:3389

配置文件:/etc/ssh/sshd_config

vim /etc/ssh/sshd_config
13 Port 22          //ssh监听端口,默认为22
15 ListenAddress 0.0.0.0        //IPV4监听IP
16 ListenAddress ::         //IPV6监听IP
41 LoginGraceTime 1m        //允许一次登录花费 120 秒;如果用户花费的时间超过 120 秒,就不允许他访问,必须重新登录
42 PermitRootLogin yes      //允许root用户远程连接(拒绝root用户,则no)
44 MaxAuthTries 3           //把错误尝试的次数限制为 6次,6 次之后拒绝登录尝试
45 MaxSessions 3            //最大允许的终端会话数量
65 PermitEmptyPasswords no  //不允许用户密码为空远程登陆
66 PasswordAuthentication yes   //启动密码认证
81 GSSAPIAuthentication no      //禁用GSSAPI认证
83 GSSAPICleanupCredentials no  //禁用GSSAPI认证
122 UseDNS no           //禁用DNS的用户解析
     AllowUsers  用户    //允许指定用户远程登录
     DenyUsers  用户    //禁用指定用户远程登录

SSH认证方式

(1)密码认证:用户名、密码登陆

(2)密钥对登陆:客户端生成密钥对,将公钥上传至服务器

Windows连接Linux

将生成的公钥文件上传到服务器

mkdir ~/.ssh/
mv 公钥文件 ~/.ssh/authorized_keys
chown -R 用户:组 ~/.ssh
vim /etc/ssh/sshd_config
48 PubkeyAuthentication yes         //启用公钥认证
49 AuthorizedKeysFile      .ssh/authorized_keys //指定公钥文件路径
注:如需客户端连接多个用户,需在每个用户下新建.ssh目录,并将authorized_keys拷贝到.ssh目录,并设置chown
注:如多个客户端连接服务器,cat 公钥文件 >>~/.ssh/authorized_keys,这样实现客户端公钥文件追加

Linux连接Linux

ssh-keygen -t rsa -b 1024           //生成rsa 1024位算法的密钥对
ssh-copy-id -i ~/.ssh/id_rsa.pub 用户@IP  //将本地公钥文件上传到指定服务器的指定用户下(ssh-copy-id只能通过22端口拷贝到目标主机)
ssh 用户@IP               //无密码登陆

SCP //远程拷贝


SCP:将本地文件上传到远程服务器,或将远程服务器文件下载到本地

scp 本地文件 用户@IP:目录           //将本地文件上传到指定服务器的指定目录下

例:
scp /etc/hosts root@192.168.1.10:/tmp/ //将本地/etc/hosts文件拷贝到192.168.1.10的/tmp/目录下

scp 用户@IP:文件 本地目录           //将远程服务器的指定文件下载到本地指定目录

例:
scp root@192.168.1.10:/etc/hosts.allow /tmp/ //将192.168.1.10的/etc/hosts.allow文件拷贝到本地/tmp/目录下

转载于:https://blog.51cto.com/13770206/2144556

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值