Linux的ssh服务远程管理主机

本文介绍如何在 CentOS 系统上配置 SSH 服务,实现基于密钥的认证登录,包括禁止密码验证、生成及上传公钥等步骤。

Redhat/CentOS 7 8版本默认安装有sshd服务,并启动

基于密码的验证—用账户和密码来验证登录;

基于密钥的验证—需要在本地生成密钥对,然后把密钥对中的公钥上传至服务器,并与服务器中的公钥进行比较;该方式相较来说更安全。
sshd服务配置文件中包含的参数以及作用

参数 作用
Port 22 默认的sshd服务端口
ListenAddress 0.0.0.0 设定sshd服务器监听的IP地址
Protocol 2 SSH协议的版本号
HostKey /tc/ssh/ssh_host_key SSH协议版本为1时,DES私钥存放的位置
HostKey /etc/ssh/ssh_host_rsa_key SSH协议版本为2时,RSA私钥存放的位置
HostKey /etc/ssh/ssh_host_dsa_key SSH协议版本为2时,DSA私钥存放的位置
PermitRootLogin yes 设定是否允许root管理员直接登录
StrictModes yes 当远程用户的私钥改变时直接拒绝连接
MaxAuthTries 6 最大密码尝试次数
MaxSessions 10 最大终端数
PasswordAuthentication yes 是否允许密码验证
PermitEmptyPasswords no 是否允许空密码登录(很不安全)

一、配置文件
vim /etc/ssh/sshd_config

PermitRootLogin yes #允许root管理员直接登录
PasswordAuthentication no #不允许密码验证(使其只允许密钥验证,拒绝传统的密码验证方式)

二、重启并开机启动sshd服务
systemctl restart sshd && systemctl enable sshd

三、Client:
1.在客户端主机中生成“密钥对”,执行命令后面全部直接回车,需要输入服务器root密码就输入,其他全部按回车
ssh-keygen

2.把客户端主机中生成的公钥文件传送至远程服务器
ssh-copy-id 192.168.100.102

3.对服务器进行设置,使其只允许密钥验证,拒绝传统的密码验证方式。记得在修改配置文件后保存并重启sshd服务程序,此处在服务器操作
PasswordAuthentication no #不允许密码验证

4.客户端尝试登录到服务器,此时无须输入密码也可成功登录,特别方便
ssh 192.168.100.102

四、远程传输命令
echo “welcome to linux” > readme.txt
从本地复制到远程主机
scp /root/readme.txt 192.168.100.102:/home/
从远程服务器下载到本地主机
scp 192.168.100.102:/etc/redhat-release /root/
cat redhat-release

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值