Centos下的OpenSSH服务器和客户端

目录

1、在 IP地址为192.168.98.11的Linux主机上安装OpenSSH服务器;

2、激活OpenSSH服务,并设置开机启动;

3、在IP地址为192.168.98.33的Linux主机上安装OpenSSH客户端,使用客户端命令(ssh、scp、sftp)访问服务器;

4、为了避免客户端访问服务器时需输入口令的繁琐,改用基于密钥的认证方式;

5、将OpenSSH服务器的监听端口从22改为2222;

6、只允许IP地址为192.168.98.1(Windows主机)和192.168.98.33(Linux主机)的ssh客户端访问OpenSSH服务器。

1、在 IP地址为192.168.98.11的Linux主机上安装OpenSSH服务器;

# opensssh服务端
yum install -y openssh-server
# openssh客户端
yum install -y openssh

2、激活OpenSSH服务,并设置开机启动;

systemctl start sshd
systemctl enable sshd       # 设置开机自启动
systemctl status sshd       # 查看sshd服务状态

3、在IP地址为192.168.98.33的Linux主机上安装OpenSSH客户端,使用客户端命令(ssh、scp、sftp)访问服务器;

ssh -p 22 root@192.168.98.11                    # ssh远程登录,输入密码
# 默认端口为22

# scp [本地|远程] [本地|远程]                 # scp实现本地|远程到本地|远程

scp -r root@192.168.98.11/:test1 root@192.168.98.11:/test1

# !!!注意加:号
# 本地和远程的区别是是否加user和addr
# -r 是递归式复制--指的是当要复制的目录下 存在子目录,且子目录中存在子目录或文件的时候,将逐一复制它们。不递归则只有空目录

sftp root@192.168.98.11                        # ssh一定要携带username,否则是当前本机用户名

4、为了避免客户端访问服务器时需输入口令的繁琐,改用基于密钥的认证方式;

密钥登录的过程

SSH 密钥登录分为以下的步骤。

预备步骤,客户端通过ssh-keygen生成自己的公钥和私钥。

第一步,手动将客户端的公钥放入远程服务器的指定位置。

第二步,客户端向服务器发起 SSH 登录的请求。

第三步,服务器收到用户 SSH 登录的请求,发送一些随机数据给用户,要求用户证明自己的身份。

第四步,客户端收到服务器发来的数据,使用私钥对数据进行签名,然后再发还给服务器。

第五步,服务器收到客户端发来的加密签名后,使用对应的公钥解密,然后跟原始数据比较。如果一致,就允许用户登录。

# 在客户端生成自己的公钥和密钥,密钥存放在~/.ssh/id_rsq,公钥存放在~/.ssh/id_rsa.pub
ssh-keygen -t rsa

# 这里保持默认就可以了
Generating public/private rsa key pair.
Enter file in which to save the key (/home/langxi/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/langxi/.ssh/id_rsa.
Your public key has been saved in /home/langxi/.ssh/id_rsa.pub.


# OpenSSH 自带一个ssh-copy-id命令,可以自动将公钥拷贝到远程服务器的~/.ssh/authorized_keys文件。
# 如果~/.ssh/authorized_keys文件不存在,ssh-copy-id命令会自动创建该文件。

ssh-copy-id root@192.168.98.11
root@192.168.98.11's password: 
# 在输入一次密码就可以了

# 再尝试登录,就不需要输入密码了
ssh root@192.168.98.11

5、将OpenSSH服务器的监听端口从22改为2222;

# 修改/etc/ssh/sshd_config文件,将Port项的注释取消掉,将22修改为2222

vi /etc/ssh/sshd_config
Port 2222

# 客户端访问时,就需要加上-p参数了,因为默认端口已经改变
ssh -p 2222 root@192.168.98.11

6、只允许IP地址为192.168.98.1(Windows主机)和192.168.98.33(Linux主机)的ssh客户端访问OpenSSH服务器。

# 修改/etc/hosts.deny
vi /etc/hosts.deny
# 加入行
sshd:ALL

# 尝试访问被拒绝
ssh -p 2222 root@192.168.98.11
ssh_exchange_identification: read: Connection reset by peer

# 修改/etc/hosts.allow
vi /etc/hosts.allow
sshd : 192.168.98.1, 192.168.98.33

# 此时可访问成功
ssh -p 2222 root@192.168.98.11
Last login: Sun Dec 22 20:36:16 2024 from 192.168.98.33

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值