SSH远程管理常用的几种配置
时间:2019-02-11 00:24 来源:未知 作者:IT
一、关于SSH(Secure Shell)
1、SSH是一种安全性通道协议,主要用来实现字符界面的远程登录、远程复制等功能。
2、SSH协议对通信双方的数据传输进行了加密处理,其中包括用户登录时输入的用户口令。
3、与早期的telnet(远程登录)、rsh(Remote Shell,远程执行命令)、rcp(Remote File Copy,远程复制)等应用相比,SSH协议提供了更好的安全性。
4、OpenSSH是实现SSH协议的开源软件项目,适用于各种UNIX、Linux操作系统。
二、配置OpenSSH服务端
1、首先确认安装客户端和服务端的程序
rpm -qa | grep open

2、编辑OpenSSH的主配置文件
vi /etc/ssh/sshd_config
下面是配置文件中的一部分配置:
#LoginGraceTime 2m ===登录宽限时间
#PermitRootLogin yes ===允许root登陆
#StrictModes yes ===开启精确模式
#MaxAuthTries 6 ===最大授权尝试次数
#MaxSessions 10 ===最大连接数
#PermitEmptyPasswords no ===禁止空密码用户
3、禁止root用户登录
38行 #PermitRootLogin yes 将其改为no

重启服务客户端验证root用户登录
systemctl restart sshd

4、允许tom和jack登录
在上述配置末加上允许列表:AllowUsers jack tom //允许Jack、tom登录

添加tom和jack用户
useradd jack;echo 123123 |passwd --stdin jack
useradd tom;echo 123123 |passwd --stdin tom

重启sshd服务验证登录(列举jack)
Win+r打开cmd输入
ssh -p 22 jack@192.168.80.100

5、开启wheel组增加安全性
上述添加jack用户可以登录,且可以切换root用户,具有安全漏洞如下图:

进入/etc/pam.d/su切换配置文件中开启wheel组
vi /etc/pam.d/su //在root用户下修改,否则无权限

重启服务验证jack用户无法切换root

6、公钥私钥验证
1).一个公钥对应一个私钥。
2).密钥对中,让大家都知道的是公钥,不告诉大家,只有自己知道的,是私钥。
3).如果用其中一个密钥加密数据,则只有对应的那个密钥才可以解密。
4).如果用其中一个密钥可以进行解密数据,则该数据必然是对应的那个密钥进行的加密。
vi /etc/ssh/sshd_config //root下更改
开启服务器的密钥验证选项:
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

systemctl restart sshd //重启服务
添加lisi用户绑定服务器上的tom
useradd lisi;echo "123123" | passwd --stdin lisi //lisi用户作为客户端
su - lisi //切换到lisi
ssh-keygen -t rsa //采用rsa加密算法加密

查看密钥对(id_rsa为私钥,id_rsa.pub为公钥成对出现)
ls /home/lisi/.ssh

将公钥上传至tom服务器
ssh-copy-id -i id_rsa.pub tom@192.168.80.100
在服务器tom查看文件
su - tom
ls /home/tom/.ssh

服务器关闭密码认证vi /etc/ssh/ssh_config 将passwordAuthentication yes改为no,重启服务,这样其他用户要想登录tom服务器必须将私钥发给他才能成功登录,否则无法登录。
7、免密登录:代理(不安全)
在客户端lisi用户下面配置
ssh-agent bash
ssh-add
输入密钥密码
代理成功!无密码直接登录服务器tom!

(责任编辑:IT)
一、关于SSH(Secure Shell)
1、SSH是一种安全性通道协议,主要用来实现字符界面的远程登录、远程复制等功能。 二、配置OpenSSH服务端
1、首先确认安装客户端和服务端的程序 #LoginGraceTime 2m ===登录宽限时间 #PermitRootLogin yes ===允许root登陆 #StrictModes yes ===开启精确模式 #MaxAuthTries 6 ===最大授权尝试次数 #MaxSessions 10 ===最大连接数 #PermitEmptyPasswords no ===禁止空密码用户
3、禁止root用户登录 useradd jack;echo 123123 |passwd --stdin jack useradd tom;echo 123123 |passwd --stdin tom
PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys
useradd lisi;echo "123123" | passwd --stdin lisi //lisi用户作为客户端 su - lisi //切换到lisi ssh-keygen -t rsa //采用rsa加密算法加密
su - tom ls /home/tom/.ssh
ssh-agent bash ssh-add
输入密钥密码 (责任编辑:IT) |