host 端口_SSH修改登录端口并使用密钥登陆指定用户(非root)

v2-7838e43d4cd6a0b702a673018e07eddf_1440w.jpg?source=172ae18b

更多内容你也可以访问

SSH修改登录端口并使用密钥登陆指定用户(非root) - iamtomblack​iamtomblack.ml
v2-677af2a04cd4ae8271879cf01bdb4b2a_180x120.jpg

最近在建站后,发现不到2天我的小破站就有600次ssh远程登录的尝试。心中不免一阵寒意,为了解决这个问题特地读取了ssh官方的文档,对网站的ssh登录进行了一些措施。以下命令基于服务器版Ubuntu18.04。

1.涉及的操作

  • 非root用户的创建
  • ssh默认端口(22)的修改
  • ssh密码登录的禁止
  • 证书生成和下载

2.ssh登录端口的修改

在root用户下

# vim /etc/ssh/sshd_config
修改
Port 22
为你想要的合法端口,比如
Port 1111
保存并退出
# service sshd restart
重启ssh服务

防火墙配置,root用户下

# ufw status
查看端口,从上到下序号依次递增。
# ufw delete (22端口的序号,应该有2个,一次一个)
注意删除后序号会变。
# ufw allow 1111 (打开你的端口)

3.非root用户的创建以A为例

# useradd -m A
# passwd A
键入你的密码两次
# su A 
键入你的密码转为用户A
# cd ~
进入用户A的主目录

经过这些步骤,就会创建一个名为A的用户,并切换到用户A的主目录下

4.创建ssh证书

以ssh官网为准,这里放上官方的文档链接

https://www.ssh.com/ssh/keygen/

非root用户下,仅仅测试了在非root用户A下的秘钥,这主要是考虑到安全性

# su A
输入你的密码
$ ssh-keygen -t rsa -b 4096
这里会有一个选项需要注意,建议输入一个密码,这个密码在最后使用密钥登陆时需要输入。
Enter passphrase (empty for no passphrase): 
会在~/.ssh文件夹里生产一个私钥和公钥,公钥以pub结尾
$ ssh-copy-id -i ~/.ssh/*pub A@your_host
将公钥*pub绑定到登录用户A,发送到你的host_ip,由于是在个人服务器上操作,直接输入本地服务器的外网ip。

5.sshd_config文件的配置

由于需要下载私钥,所以建议先用root用户和修改的ssh端口登录sftp,下载私钥到本地,然后进行下列配置

# vim /etc/ssh/sshd_config
通过“/”找到如下段落并修改如下:
PermitRootLogin no
PasswordAuthentication no

这样就禁止了root用户登录同时也禁止了使用用户名和密码登录的方式。

6.使用私钥登录

对于cilent端,我建议使用MobaXterm,开源且强大

v2-0cfd8a61d3c2919a726a41fc982cfe4c_b.jpg

v2-32f867f8b6a64c3927953c5c53f47623_b.jpg

然后输入第4步的密码即可登录。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值