SecureCRT公钥连接阿里云服务器
踩了点坑,且记录且分享~
-
首先新建会话,选择SSH2协议
-
输入公网IP,输入用户名,然后下一步
如果用户名root后面有多余的空格,将空格去掉!!必须检查,不然后面白费劲。
-
点击Option,选择Session Options
-
将PublicKey上移到首位,然后按照②所示勾上选项,Password这一栏可以不勾,不勾意味着不使用密码的认证方式进行连接,将PublicKey移至首位的目的是将公钥连接设为首要采取的认证方式。
-
然后点击PublicKey,再点击右侧的Properties。
-
生成公共密钥
-
选择RSA
-
密钥越长安全度越高,可以选择2048
-
将密钥对进行本地保存
-
一般生成密钥后会提示:点击 是
-
如果不小心关闭或否,可以点击下面的Upload
-
输入云服务器密码
-
然后确定,close,ok就行。
-
现在本地上生成了公钥文件Identity.pub,我们需要将公钥保存到云服务器上,我的方式是先用root用户密码登录上服务器,在linux中通过下面的命令打开authorized_keys文件(如果没有.ssh目录,那就在root目录下创建)。
vim ~/.ssh/authorized_keys
然后将本地的公钥文件Identity.pub以编辑的方式打开(我用的是Notepad++),将里面的密钥复制到云服务器的authorized_keys文件中,wq进行保存。保存时需要留意,前面的ssh-rsa是否完整,我之前保存的时候,前面少了个s,痛苦的教训!
当然如果你不用root用户而是用其他用户公钥远程连接,可以把公钥的文件内容保存到对应的用户家目录下,路径应该是这样子的
/home/用户家目录/.ssh/authorized_keys
,.ssh没有那就自己创建,我还没用过普通用户公钥连接过,看了多篇文章应该都是这样子设置的。
-
如果觉得步骤14太复杂,也可以登录阿里云官网来设置,在下面的小黑窗口中导入Identity.pub文件的密钥。(注:如果已从步骤14中保存公钥到云服务器了,那可以直接跳到步骤18)
-
然后完成后,进行密钥对绑定,绑定到当前实例
-
绑定密钥对:将实例移到右边框,然后点确定。
-
在Linux中输入如下命令
vim /etc/ssh/sshd_config
-
修改
PubkeyAuthentication
,设置为yes,如果前面有#注释,则去掉#
设置为yes,意味着允许通过公共密钥认证方式进行SSH连接
-
AuthorizedKeysFile
-
修改
PermitRootLogin
为yes
设置为yes,说明可以使用root用户进行远程连接
-
-
wq保存后,重新启动服务
systemctl restart sshd.service
-
最后就可以在SecureCRT上登录了