如何修改CentOS 7系统的ssh默认端口号

修改/etc/ssh/sshd_config中的“Port 22”一行,将22改为其他端口号。注意:不能和已使用的端口号相同。 然后运行:

sudo systemctl restart sshd.service

下次用ssh登录就必需使用新端口了,使用原22端口尝试连接会超时出错。

如何生成SSH KEY(s)?

如何生成SSH KEY,这是通过SSH登录GitHub时会遇到的问题。

首先,打开Windows下打开Git Bash,Linux下打开Terminal或者命令行状态下直接开始。

一、检查是否已存在SSH Keys

ls -al ~/.ssh

如果列出了你的.ssh目录的有已生成的文件,那么本文就结束了。如果.ssh目录不存在或者没有文件,你就需要生成一个新的SSH Key。

二、生成SSH Key

假设你的用户名是you,邮箱地址是:

alex@gmail.com

那么输入并运行:

ssh-keygen -t rsa -b 4096 -C “alex@gmail.com”

出现提示:

Generating public/private rsa key pair.
Enter file in which to save the key (/home/you/.ssh/id_rsa):

在这里按Enter,我们不需要修改这个文件的名称

然后又出现提示:

Created directory '/home/you/.ssh/'.
Enter passphrase (empry for no passphrase): #输入一个用于此处的密码,用这个SSH Key登录时会用到,或者不输入也行,安全性差一点)
Enter same passphrase again: #如果你决定输入密码,那么会出现这个输入第二遍密码的提示

输入两遍密码后,提示文件生成成功:

Your identification has been saved in /home/you/.ssh/id_rsa.
Your public key has been saved in /home/you/.ssh/id_rsa.pub.

/home/you/.ssh/id_rsa.pub文件就是你的公钥,用于登录验证。
/home/you/id_rsa是你的私钥,打死也不要给别人

“you”替换为你实际的用户名。

第三步,启动ssh-agent

在后台启动ssh-agent,输入并运行:

 eval $(ssh-agent -s)

第四步,把你的SSH私钥添加到ssh-agent中

ssh-agent ~/.ssh/id_rsa

现在,可以尝试用ssh连接了。

修改ssh默认端口导致无法用FileZilla连接到服务器的问题

FileZilla使用sftp协议连接服务器,站点管理器的主机一栏填的是域名,由于之前服务器使用默认端口,因此没有问题。在修改

/etc/sshd/sshd_config

文件的port一行,改变了ssh默认端口后重启sshd服务,

sudo service sshd restart

此后,FileZilla使用新ssh端口无法连接到服务器。

发现问题的契机是用

ssh -v -p <新端口号> <域名>

,发现每次域名后面的IP不一样。想到服务器使用了CDN服务……

解决方法

将FileZilla的站点管理器的主机一栏改成服务器的真实IP,使用新端口登陆,成功。

问题出现的前提是为域名开启了CDN服务。通过“域名+默认22端口”登陆服务器时,CDN服务会将请求转给源服务器,于是FileZilla可以正确连接。而使用“域名+非22端口”登陆,如果开启了CDN服务,FileZilla会错误地尝试连接随机CDN服务器的那个端口。