本文最后更新于 2183 天前,其中的信息可能已经有所发展或是发生改变。
VPS有密码和密钥登陆,虽然还有免密登陆, 但是最保险的还是密钥登陆。但是假如你有多个VPS的话,千万不要每个都用相同的密钥。这样并不安全。
管理VPS的软件有Putty和Xshell,个人推荐Xshell。其中Putty可以直接下载,但是Xshell需要你填入你的邮箱然后发一独特的链接(有效期应该是30天)给你下载。
对于Debian系和CentOS系,直接在VPS上生成密钥的命令都是
ssh-keygen -t rsa
如果中途提示overwrite,那么就覆盖吧。中途会有提示让你输入你的passphrase(密码),输入之后一路回车,默认即可。默认文件会放在
/root/.ssh/
然后为了保险起见,先删除authorized_keys,然后再新建一个。然后将密钥导入进authorized_keys.
cd .ssh/ rm -rf authorized_keys touch authorized_keys cat id_rsa.pub >> authorized_keys
然后将id_rsa文件保存到本地,(临时的就行,用Xshell导入后删除即可)
推荐 lrzsz 这个传输文件的软件,debian和CentOS均有。可以直接在命令拖文件进去上传。
yum install lrzsz -y sz /root/.ssh/id_rsa
然后修改SSH的配置,让VPS更加安全。
yum install nano -y nano /etc/ssh/sshd_config
找到Port这一行
# This is the sshd server system-wide configuration file. See # sshd_config(5) for more information. # This sshd was compiled with PATH=/usr/local/bin:/usr/bin # The strategy used for options in the default sshd_config shipped with # OpenSSH is to specify options with their default value where # possible, but leave them commented. Uncommented options override the # default value. # If you want to change the port on a SELinux system, you have to tell # SELinux about this change. # semanage port -a -t ssh_port_t -p tcp #PORTNUMBER # #Port 22 #AddressFamily any #ListenAddress 0.0.0.0 #ListenAddress ::
将#去掉,修改端口号,推荐10000以上的。
然后查找文件(Ctrl W),passwordauthentication
PasswordAuthentication yes
将这个的yes改成no,禁止密码登陆,彻底阻止爆破密码。
注意:这个时候千万不要退出SSH
之后重启SSH服务
service sshd restart
这个时候到Xshell里面去,新建一个配置,然后填入IP、端口号以及导入密钥文件(id_rsa),此时叫你输入的密码就是之前那个生成时让填的的密码。测试一下可不可以连接,如果不行,看看哪儿做错了。