ssh服务的搭建与登录

搭建ssh服务

# 关闭firewalld防⽕墙

# 临时关闭

systemctl stop firewalld

# 关闭开机⾃启动

systemctl disable firewalld

# 关闭selinux

# 临时关闭

setenforce 0

# 修改配置⽂件 永久关闭

vim /etc/selinux/config

SELINUX=disabled

配置yum源

# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS

Base.repo.backup

# wget -O /etc/yum.repos.d/CentOS-Base.repo

https://mirrors.aliyun.com/repo/Centos-7.repo

# yum clean all

# yum makecache

挂载光盘

# mkdir /mnt/cdrom

# mount -o ro /dev/sr0 /mnt/cdrom

# chmod +x /etc/rc.local

# echo 'mount -o ro /dev/sr0 /mnt/cdrom' >> /etc/rc.local

编写local.repo⽂件

# cd /etc/yum.repos.d

# vim local.repo

[local]

name=local yum

baseurl=file:///mnt/cdrom

enabled=1

gpgcheck=0

openssh软件的安装

        SSH服务底层的软件名称叫做openssh,open开源,ssh就是ssh服务。openssh属于C/S架构

软件,其拥有客户端与服务器端。

客户端:ssh

服务端:openssh-server

安装步骤:

# yum install openssh -y

检查openssh是否安装成功

# rpm -qa |grep openssh

# yum list installed |grep openssh

获取openssh⽣成的⽂件列表

# rpm -ql openssh-server

# 配置⽂件

/etc/ssh/sshd_config => ssh服务的主配置⽂件

/etc/sysconfig/sshd

# 服务管理脚本

/usr/lib/systemd/system/sshd.service => systemctl start sshd

# ⽂件共享服务 提供⽂件上传下载的服务

/usr/libexec/openssh/sftp-server

# ⼆进制⽂件程序⽂件

/usr/sbin/sshd

# 公钥⽣成⼯具

/usr/sbin/sshd-keygen

# man⼿册

/usr/share/man/man5/sshd_config.5.gz

/usr/share/man/man8/sftp-server.8.gz

/usr/share/man/man8/sshd.8.gz

# rpm -ql openssh-clients

# 客户端配置⽂件

/etc/ssh/ssh_config

# 远程copy命令 服务器间进⾏⽂件传输

/usr/bin/scp

# sftp客户端 上传下载⽂件操作

/usr/bin/sftp

/usr/bin/slogin

/usr/bin/ssh

/usr/bin/ssh-add

/usr/bin/ssh-agent

/usr/bin/ssh-copy-id

/usr/bin/ssh-keyscan

# 客户端man⼿册

查看并修改ssh服务端的配置⽂件

# man 5 sshd_config 

RealServer:禁⽌root账号远程登录

# man 5 sshd_config

PermitRootLogin => yes or no,默认为yes 代表允许通过root账号远程登录此服务器

# vim /etc/ssh/sshd_config

38⾏ PermitRootLogin no

在配置⽂件设置permitRootlogin no,不允许root账户远程登录可以设置其他账户远程登录。

zhangsan

sshd服务管理

# systemctl restart sshd => 重启

# systemctl status sshd => 状态

# systemctl stop sshd => 停⽌

# systemctl start sshd => 启动

# systemctl enable sshd => 开机⾃启动

# systemctl disable sshd => 开机不⾃启

# ps -ef |grep sshd => 进程

# netstat -tnlp |grep sshd => 端⼝

# ss -naltp |grep sshd

创建⽤户并授权

JumpServer跳板机创建⽤户并授权

第⼀步:创建⽤户与⽤户组(html前端组,tom与jerry)

# 创建html前端组

# groupadd html

# 创建组内⽤户tom与jerry

# useradd -g html tom

# useradd -g html jerry

第⼆步:为⽤户添加密码

# echo 123456 |passwd --stdin tom

# echo 123456 |passwd --stdin jerry

第三步:为开发⼈员创建数据⽬录并且设置相应的权限

① 创建⽤户的数据⽬录:

# mkdir -p /code/html => 前端组

# ll -d /code/html

drwxr-xr-x. 2 root root 6 May 24 10:36 /code/html

② 更改⽬录的⽂件所属组(更改为html,代表html组内成员可以对这个⽬录进⾏管理)

# chgrp -R html /code/html

drwxr-xr-x. 2 root html 6 May 24 10:36 /code/html

# chmod -R g+w /code/html

drwxrwxr-x. 2 root html 6 May 24 10:36 /code/html

③ 添加粘滞位权限,防⽌误删除操作

# chmod 1770 /code/html

drwxrwx--T. 2 root html 6 May 24 10:36 /code/html

禁⽤root登录

RealServer服务器端:

# vim /etc/ssh/sshd_config

38⾏ PermitRootLogin no

更改SSH默认端⼝

RealServer服务器端:

# vim /etc/ssh/sshd_config

17⾏ Port 9999

1.修改 vim /etc/ssh/sshd_config 第17⾏的# 删除,22换成9999

# vim /etc/ssh/sshd_config

38⾏ PermitRootLogin no

# vim /etc/ssh/sshd_config

17⾏ Port 99992.重启sshd服务,

setenforce 0 停⽤selinux

systemctl stop firewalls 停⽤防⽕墙

systemctl restart ssh

重启ssh服务

ssh连接服务器,如果服务端⼝是22,可以不⽤添加-p选项

如果不是22端⼝,就不许添加-p选项

s sh -p9999 -llisi 192.168.71.135

Ssh -p9999 lisi@192.168.71.135

重启SSH服务

# systemctl restart sshd

# systemctl reload sshd

restart与reload的本质区别:

① restart其实相当于stop然后在start

② reload不停⽌现有业务,只是重新加载sshd对应的配置⽂件

RealServer创建⼀个code账号

# useradd code

# echo 123456 |passwd --stdin code

测试:在JumpServer远程连接RealServer

# ssh -p 3721 code@11.1.1.100

SSH客户端不验证指纹

# vim /etc/ssh/ssh_config

35⾏ StrictHostKeyChecking no

⽤专业⼯具pwgen⽣成⽤户密码

在实际⽣产环境中,其⽤户密码⼀定不要⼿⼯设置,建议使⽤专业的密码⽣成⼯具如pwgen。

① 安装随机密码⽣成⼯具pwgen

② 使⽤pwgen⼯具⽣成随机密码

③ 给账号code设置密码

第⼀步:创建code开发者账号

# useradd code

第⼆步:配置EPEL源,安装pwgen⼯具

# wget -O /etc/yum.repos.d/epel.repo

http://mirrors.aliyun.com/repo/epel-7.repo

# yum clean all

# yum makecache

第三步:安装pwgen密码⽣成⼯具

# yum install pwgen -y

第四步:使⽤pwgen⽣成随机密码

# pwgen -cnBs1 10 1

扩展:pwgen密码⽣成器的使⽤

# pwgen --help

# ⽤法: pwgen 选项参数 ⻓度 ⽣成个数

Usage: pwgen [ OPTIONS ] [ pw_length ] [ num_pw ]

# 密码中⾄少包含⼀个⼤写字⺟

-c or –capitalize

# 密码中不包含⼤写字⺟

-A or –no-capitalize

# 密码中⾄少包含⼀个数字

-n or –numerals

# 密码中不包含数字

-0 or –no-numerals

踢出⽤户

# 查看当前在线⽤户

w

# 踢出某个账号

pkill -kill -t pts/1

SSH免密登录解决⽅案

⽅法⼀:⽐较常⽤(tom)

① 在A主机针对某个账号⽣成公钥与私钥

# ssh-keygen

② 使⽤ssh-copy-id把公钥⽂件中的内容传输到服务器端的~/.ssh/authorized_keys⽂件中

# ssh-copy-id -p 3712 code@11.1.1.100

code@11.1.1.100's password:123456

③ 在JumpServer客户端测试免密登录是否成功

# ssh -p 3721 code@11.1.1.100

⽅法⼆:集群常⽤(jerry)

① ⽣成公钥与私钥

# ssh-keygen

② 把id_rsa.pub⽂件,scp到RealServer服务器端

# scp -P 3721 ~/.ssh/id_rsa.pub code@11.1.1.100:/home/code/

③在RealServer服务器端,把id_rsa.pub⽂件中的内容追加到~/.ssh/authorized_keys⽂件中

# cd ~

# cat id_rsa.pub >> ~/.ssh/authorized_keys

RealServer:

~/.ssh : 700

~/.ssh/authorized_keys : 600

④测试免密是否成功

# ssh -p 3721 code@11.1.1.100

1.随便找个账户执⾏ ssh-keygen 按三次回撤,会在当前和⽤户的家⽬录下

# ssh -p 3721 code@11.1.1.100

# ssh-keygen

# scp -P 3721 ~/.ssh/id_rsa.pub code@11.1.1.100:/home/code/

# cd ~

# cat id_rsa.pub >> ~/.ssh/authorized_keys

RealServer:

~/.ssh : 700

~/.ssh/authorized_keys : 600

# ssh -p 3721 code@11.1.1.100~/.ssh/id_res 私钥

~/.ssh/id_rsa_pub 公钥

2.ssh-copy-id -p22 root@192.168.71.140 ⽤root'对root,⽤zhangsan对zhangsan免密

3.ssh -pxxx root@ip地址

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值