1. SSH简介(摘自百度百科)

SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。SSH 是较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。

2. ssh基本使用方法

注:termux中也有ssh工具,使用pkg install openssh安装后即可使用,三丰常用它在手机端连接我的博客服务器,腾讯云服务器等。

一般这样用:ssh root@101.102.103.104 将其中的root换成你的用户名,@后面的ip换成你的服务器ip即可。默认是用ssh的默认端口22,如果端口不一样的话,加上-p选项即可,如使用端口666连接:ssh -p 666 root@101.102.103.104

如果不想直接登录服务器而只是想在服务器上执行某个命令的话,可以直接在上述连接命令的末尾加上该命令即可,如:

ssh root@101.102.103.104 "ls -l ~/server"

3. 服务器端ssh配置推荐

一般来说,刚买的服务器默认开通了22端口供ssh远程连接,且允许root用户通过密码直接登录。但这样实际上是不太安全的,黑客会利用这个默认用户和默认端口使用大名鼎鼎的hydra等工具进行一个暴力破解登录。如果恰巧你的密码设置得比较简单,或者你的密码设置比较随意,容易通过社交工程猜测到,那么你的服务器将危在旦夕。如下图,三丰的腾讯云服务器,就被尝试破解4次,还是在改了端口的情况下,以前是每天上万次错误尝试登录,显然让人看着就不爽。况且如果是root用户的话,一旦被破解,他人就可以为所欲为了,所以三丰对此有以下些许建议:

2022-05-28T05:53:18.png

最安全的方式,使用密钥登录并关闭密码登录,既可以免密登录,又可以有效防止密码被暴力破解,缺点是一旦不小心删除了密匙文件,服务商又不支持其他登录方式,那你就只有重装系统了。具体操作方法如下:

进入终端,输入:

ssh-keygen

如果提示命令不存在,则尝试apt install openssh-client或apt install openssh(centos用yum包管理器)。接下来的设置全部回车用默认设置即可,随后输入以下命令:

ssh-copy-id -i ~/.ssh/id_rsa.pub root@101.102.103.104

将root改为你的用户名,ip也对应换一下,第一次连接会有提示,输入yes即可,然后输入密码(输入密码时屏幕什么都不显示,linux基本都这样,输对密码就行)就能完成密钥安装,之后就能免密登录了。

虽然现在登录不验证密码直接登录,但还是支持没有密钥的设备使用密码登录,编辑配置文件直接关掉密码登录:

vi /etc/ssh/sshd_config

定位找到这一行:PasswordAuthentication yes 将yes改为no即可,如果有注释记得取消注释。出于root用户的特殊性,建议禁止root用户直接登录,但要确保你有至少一个其他用户可以登录服务器,用该普通用户登录后使用su命令切换为root用户。连接服务器后,编辑配置文件,定位找到这一行:PermitRootLogin no 将yes改为no即可,如果有注释记得取消注释。

[label color="orange"]每次编辑完配置文件后,都要用下列语句重启sshd服务才能使配置立即生效: [/label]

service sshd restart

若有疑问,请在评论区留言。

最后修改:2022 年 05 月 29 日
如果觉得我的文章对你有用,请随意赞赏