环境
内网win10 192.168.25.1
服务器centos 内-192.168.25.11 外-192.168.254.11
外网服务器 192.168.254.10
服务名称为:sshd 默认端口号为:22
rpm -qc openssh-server.x86_64
# 查看配置文件
*服务端主程序:/usr/sbin/sshd
*服务端配置文件:/etc/ssh/sshd_config
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
# 先对其进行备份
修改主配置文件
vim /etc/ssh/sshd_config
# 修改配置文件
第17行
Port 22 #可更改端口
默认22 也可以改成别的
systemctl restart sshd
第18行
Protocol 2 #版本2比版本1安全性高,没有的话就自己加上去
systemctl restart sshd
# 重启服务即可生效
第20行
ListenAddress 192.168.254.254.11
#侦听地址,上面的意思就是允许192.168.254.1也就是外网连接内网连接不上
192.168.25.11内网ssh软件连接失败---因为没有监听192.168.25.11网卡
192.168.254.11 连成功
如果想监听两个或者多个
可以接着写
ListenAddress 192.168.254.25.11
又可以正常连接
116行上下
UseDNS no
#禁用反向解析,提高服务器响应速度(添加)
systemctl restart sshd
# 做过任何配置只有重启过服务才能生效
用户登录控制
创建两个实验对象
useradd a1
useradd a2
useradd a1
useradd a2
#为他俩设置密码
vim /etc/ssh/sshd_config
# 进入主配置文件
第40行
PermitRootLogin no
# 禁止root用户
66行
PermitEmptyPasswords no
#禁止空密码用户
39行
LoginGraceTime 2m
#登录验证时间2分钟
42行
MaxAuthTries 6
#最大重试次数
末尾添加:
AllowUsers a1 a2@192.168.254.10
#允许a1随意登录;允许a2只能在此地址登录
25.1内网win10 登录成功
a2被拒绝
192.168.254.10登录a1成功
192.168.254.10登录a2成功
ssh && scp && sftp的使用
cp /etc/ssh/sshd_config.bak /etc/ssh/sshd_config
由于和上面的环境关系不大 ,先恢复一下配置再重启一下服务
systemctl restart sshd
ssh远程登录
ssh root@192.168.254.11
ssh 目标服务器用户@目标服务器ip地址
输入即可连接
登录成功
ssh远程使用命令,并输出返回值
ssh root@192.168.254.11 ls
ssh 目标服务器用户@目标服务器ip地址 命令
scp下载
先到服务器192.168.254.11上的a1用户下创建一个a1.txt
再到192.168.254.10上的tom用户(没有就创建一个,随便那个用户下都行我这样做是为了告诉大家,这个下载的方式有很多种)
现在要把192.168.254.11的a1用户下的a1.txt下载到192.168.254.10的tom用户下,并把下载来的a1.txt下载到tom后文件名为a1—tom.txt
scp a1@192.168.254.11:a1.txt a1-tom.txt
如果你不想改名字也是可以
scp a1@192.168.254.11:a1.txt a1.txt
scp上传
现在在tom里有个文件a1-tom.txt再将这个文件传回a1
scp a1-tom.txt a1@192.168.254.11:a1-tom.txt
传回去名字也是随意改的
scp a1-tom.txt a1@192.168.254.11:tom-a1.txt
sftp
sftp a1@192.168.254.11
sftp 目标用户@连接目标ip地址
成功进入
输入ls
是看目标服务器内的文件
输入lls就是看本机有什么文件
下载
get
get + 文件名
上传
put
put + 本地文件名
密钥登录
使用密钥登录就是,你经常在一个机器上以某个用户经常登录服务器,然而每次登录都要输入密码
直接在本机的用户下生成一个密钥,导入到目标服务器,下次再ssh登录到服务器就不会再输入密码,不用输入密码的包括ssh,scp,sftp
私钥文件:id_rsa
公钥文件:id_rsa.pub
sudo vim /etc/ssh/sshd_config
43行
PubkeyAuthentication yes
47行AuthorizedKeysFile .ssh/authorized_keys
systemctl restart sshd
ssh-keygen -t ecdsa
# 然后全都默认 (回车)
生成了一个.ssh文件
scp .ssh/id_ecdsa.pub a1@192.168.254.11:tom.key
ssh a1@192.168.254.11
先登录上a1
mkdir .ssh
touch .ssh/authorized_keys
chmod 700 .ssh
# 为了安全修改权限
chmod 644 .ssh/authorized_keys
cat tom.key >> .ssh/authorized_keys
现在登录a1就不再需要密码了
不用密码直接登录成功