一、open ssh的功能

1.sshd服务的用途

作用:可以实现通过网络在远程主机中开启安全shell的操作

2.openssh-server    安装包

3./etc/ssh/sshd_conf

4.默认端口为22

5.客户端命令ssh

二、ssh

1.基本用法

ssh  -l   远程主机用户  <ip | hostname >

ssh  -l   root 172.25.254.112    通过ssh命令在112主机中以root的身份开启远程shell

实验一:

实验环境:服务端nodea 客户端nodeb

nodea   hostnamectl set-hostname hostname112.westos.org

nodeb   hostnamectl set-hostname hostname212.westos.org

客户端nodeb在远程登陆服务端nodea时,客户端的/root/.ssh/known_hosts文件中会产生一串密钥,而服务端nodea中的/etc/ssh/ssh_hosts_ecdsa_key.pub中也会产生一串相同的密钥
cd /etc/ssh
ls /etc/ssh
rm -fr ssh_host_* 
systemctl restart sshd
在nodeb中操作:
ssh -l root 172.25.254.112  再次登陆时系统会提示错误,根据系统提示文件的那行出现问题就将那个文件的第几行删除
ssh -l root 172.25.254.112  再次登陆就成功了

ssh 常用的参数

-l      指定用户登入  ssh -l root 172.25.254.112

-X     开启图形   ssh -Xl  root 172.25.254.112

-i     指定私钥

-f     后台运行    ssh -Xfl  root 172.25.254.112  gedit

-o   首次登入不需要输入yes   ssh -l  root 172.25.254.112 -o "StrictHostKeyChecking=no"

-t    指定连接跳板       ssh -l root 172.25.254.73 -t ssh -l root 172.25.254.112

3.ssh key 认证

认证类型

(1)对称加密

加密和解密是同一串字符

缺点:容易泄漏,可暴力破解,容易遗忘

(2)非对称加密

加密用公钥,解密用私钥

优点:你会被盗用,攻击者无法通过密钥方式登陆服务器

生成非对称加密密钥

 方法一:

在服务端nodea中操作

ssh-keygen

ls    /root/.ssh

ssh-copy-id  -i  /root/.ssh/id_isa.pub   root@172.25.254.112

cat   /root/.ssh/id_isa.pub

cat  /root/.ssh/authorized_keys    这两个文件内容一样

scp /root/.ssh/id_isa  root@172.25.254.212:/root/.ssh

在客户端nodeb中操作:

ls  /root/.ssh/          里面可以看到从nodea中复制过来的密钥id_isa

ssh -l root 172.25.254.112       直接可连接不用输入密码

方法二:

在nodea 中操作

ssh-keygen -f  /root/.ssh/is_isa  -P ""

ssh-copy-id  -i /root/.ssh/id_isa.pub root@172.25.254.112

ls /root/.ssh      生成和id_isa一样的模板

scp  /root/.ssh/is_isa     root@172.25.254.212:/root/.ssh

在nodeb中操作

ls    /root/.ssh       

里面可以看到从nodea中复制过来的密钥id_isa

ssh -l root 172.25.254.112       直接可连接不用输入密码

 4.sshd 安全优化参数详解

在nodea中操作

ls  /etc/ssh

vim /etc/ssh/ssh_config

PermitRootLogin  yes|no            将其改成no

systemctl restart  sshd

在nodeb中操作:

ssh -l root 172.25.254.112       会显示permission  denied,please try again.

在nodea中: vim /etc/ssh/sshd_config

编辑内容:

PasswdAuthentication   yes|no         将其改为no

systemctl restart  sshd

在nodea中     ssh -l root 172.25.254.112

本次可直接登入,不需要修改密码

在nodea中  useradd  lee

echo lee | passwd --stdin lee

 vim /etc/ssh/sshd_config

AllowUsers     lee

systemctl  restart  sshd

在nodeb中    useradd lee

su - lee

ssh -l  lee 172.25.254.112                 输入密码后可直接登入

su - westos

ssh -l westos 172.25.254.112                 会显示permission  denied,please try again.

在nodea中    

vim /etc/ssh/sshd_config

编辑内容:

DenyUsers   lee

systemctl restart sshd

在nodeb中操作

su - lee

ssh -l lee 172.25.254.112     会显示permission  denied,please try again.

su - westos

ssh -l westos 172.25.254.112      输入密码可直接登陆

在nodea中操作

vim /etc/ssh/sshd_config

编辑内容:

procc 22     将其注释的解释

systemctl resatrt  sshd

network  -antlupe  |  grep  sshd     会显示当前接口为22      tcp   0       0 0.0.0.0.:22         0.0.0.0:*

setenforce  0

systemctl  disable --now  firewalld

vim /etc/ssh/sshd_config

编辑内容:

prot  2222

systemctl restart  sshd

在nodeb 中操作

ssh -l root 172.25.254.112     会显示ssh: connect to host 172.25.254.112 prot 22 :   no route to host

ssh -l root 172.25.254.112 -P 2222      可直接连接

 

 

 

Logo

更多推荐