Windows下SSH免密连接Linux

自去年重启Blog,以asp.net core将Blog重写并部署到Linux后,跟Linux打交道的时候就多了起来。日常个人使用最多的还是Windows,今天开始有空就把一些经常用到的相关倒腾Linux VPS小经验技巧,以小白的视角记录下来,以备后用,也希望对你有所用。

今天先记录下如何在Windows下通过SSH免密登录Linux,省去每次ssh都需要重复输入密码的麻烦。

使用工具

  • Windows自带cmd或PowerShell(Win+R输入cmd或powershell,回车)

操作步骤

Windows下,创建指纹文件

1、cmd或powershell下,输入指令

ssh-keygen -t rsa

2、提示选择路径时,直接回车,自动选择默认路径即可

3、提示输入密码时,依然直接回车,不输入任何密码

4、操作成功。会提示生成的rsa标识文件、公钥文件 以及指纹数据

Windows下,上传公钥文件到Linux

1、windows + cmd下通过scp指令将前面生成的指纹文件(如C:\Users\yang/.ssh/id_rsa.pub)上传到Linux。此时的scp操作会提示输入Linux密码,正确输入即可。

scp C:\Users\yang/.ssh/id_rsa.pub myaccount@11.22.33.44:~/.ssh

Linux下,配置操作

1、Windows + cmd 进行SSH通过密码登录到Linux

ssh myaccount@11.22.33.44

2、追加导入刚才上传的公钥文件

cat .ssh/id_rsa.pub >> .ssh/authorized_keys

3、修改文件权限

chmod 600 .ssh/authorized_keys
chmod 700 .ssh

4、修改SSH配置文件

sudo vim /etc/ssh/sshd_config

确保以下3项配置存在且未被注释(行首无#),如果没有添加即可

RSAAuthentication yes 
PubkeyAuthentication yes 
AuthorizedKeysFile .ssh/authorized_keys

5、重启SSH服务

sudo service sshd restart

免密登录测试

1、Windows+cmd下测试SSH登录

ssh myaccount@11.22.33.44

2、正常情况应该可以直接登录成功,无需输入密码

0 条评论

Leave a comment