SSH通过秘钥登录

1.服务器生成秘钥对

cd ~
 ssh-keygen -t ed25519

这里我给秘钥设置了密码(passphrase)

2. 服务器安装公钥

 cd .ssh
 cat id_rsa.pub >> authorized_keys

在这里插入图片描述
然后修改访问权限:

[root@host .ssh]$ chmod 600 authorized_keys
[root@host .ssh]$ chmod 700 ~/.ssh

ssh对公钥的访问权限有严格要求,如不设置上面两行则会报错:

Server refused our key

3.将私钥拷贝到win10用户目录

这里将密钥id_rsa放在D盘则报错:(改了秘钥文件的权限还是没用)SSH通过秘钥登录_第1张图片
改成C:\Users\Admin\.ssh里的目录就可以了
SSH通过秘钥登录_第2张图片

4. 验证ssh秘钥登录

cmd验证:

ssh -i C:\Users\admin\.ssh\id_ras_with_passphrase\id_rsa -p 3333 king@119.31.31.31
输入密码(passphrase)

VSCode通过ssh秘钥连接服务器:

修改VSCode配置文件C:\Users\admin\.ssh\config

Host 119.31.31.31
  HostName 119.31.31.31
  Port 3333
  User king
  IdentityFile C:\Users\admin\.ssh\id_ras_with_passphrase\id_rsa

之后连接输入密码(passphrase)就行了

5.服务器禁用ssh密码登录

注意:必须保证秘钥登录开启时才走一步(私钥不要弄丢了)

sudo vim /etc/ssh/sshd_config
PasswordAuthentication yes改成PasswordAuthentication no

然后重启sshd服务:
service sshd restart

值得一提的是:centos7.4后不需要添加以下两项,因为ssh默认开启密钥登录,ubuntu1604好像也不用
RSAAuthentication yes
PubkeyAuthentication yes

你可能感兴趣的:(Linux,SSH秘钥登录,ssh)