一、登陆ubuntu制作密钥

Ssh-keygen 建立密钥对

UBUNTU设置SSH通过密钥登陆-编程知识网

 

UBUNTU设置SSH通过密钥登陆-编程知识网

  1. 按回车即可
  2. 输入y
  3. 输入密钥锁码或者直接留空也可

4、再次输入锁码或者再次留空也可

二、在服务器上安装公钥

Cd .ssh

Cat id_rsa.pub >> authorized_keys

 

修改相关文件权限:

Sudo chmod 600 authorized_keys

Sudo chmod 700 ~/.ssh

三、设置SSH打开密钥登陆功能

Sudo vi /etc/ssh/sshd_config

UBUNTU设置SSH通过密钥登陆-编程知识网

添加这些内容保存退出

RSAAuthentication yes

pubkeyAuthentication yes

permitROOTlogin yes

UBUNTU设置SSH通过密钥登陆-编程知识网

 

四、重启SSH服务

Service sshd restart

UBUNTU设置SSH通过密钥登陆-编程知识网

 

五、复制私钥到WINDOWS系统

Cp ~/.ssh/id_rsa ~ //从隐藏目录下复制到ubuntu用户目录下 方便WINSCP拷贝

UBUNTU设置SSH通过密钥登陆-编程知识网

打开WINSCP登陆linux主机复制文件

UBUNTU设置SSH通过密钥登陆-编程知识网

UBUNTU设置SSH通过密钥登陆-编程知识网

 

六、使用puttygen转换私钥为putty可使用格式

Puttygen——load(all files)——id_rsa——打开——save private key——命令为私钥——保存

 

七、测试使用私钥登陆

打开putty——打开“SSH”下拉列表——“AUTH”——browse——选择“私钥.PPK”——点击“Session”——输入IP及对应端口——Open…..

输入用户名ubuntu登陆

 

八、私钥登陆成功后禁用密码登陆 

使用私钥登陆后

Sudo vi /etc/ssh/sshd_config

UBUNTU设置SSH通过密钥登陆-编程知识网

添加PasswordAuthentication no 保存退出

(留意下 如果原配置文件有yes的可以直接修改 或者加#注释后重写)

UBUNTU设置SSH通过密钥登陆-编程知识网

重启ssh服务

Service sshd retart

UBUNTU设置SSH通过密钥登陆-编程知识网

1:使用ubuntu用户执行此命令

2、输入ubuntu账户密码验证

 

九、测试密码验证是否已被禁用

打开putty 输入 IP端口

UBUNTU设置SSH通过密钥登陆-编程知识网 

输入登陆账户:ubuntu

UBUNTU设置SSH通过密钥登陆-编程知识网

报错如下:

UBUNTU设置SSH通过密钥登陆-编程知识网

 

而后密钥登陆成功即可  完成测试 目的达成