windows下使用ssh密钥远程登录win10的linux子系统

步骤:

1.在linux下执行 sudo passwd root 设置root账户的密码

2.在linux下执行 su 输入刚才设置的root账户密码进入root账户

3.在linux下执行 ssh-keygen -t rsa (不输入内容连续按回车),会创建/root/.ssh/目录并在此目录生成一个私钥id_rsa和一个公钥id_rsa.pub,(此处生成的密钥对不使用,主要用于生成/root/.ssh/目录)

4.在linux下执行 sudo apt install openssh-server openssh-client 安装ssh

5.在linux下执行 sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak 备份sshd配置文件

6.在linux下执行 vim /etc/ssh/sshd_config 修改sshd_config文件的内容  (注意不是 /etc/ssh/ssh_config) 如下:
GSSAPIAuthentication yes
GSSAPICleanupCredentials no
PasswordAuthentication yes

7.在linux下执行 sudo service ssh restart 或者 sudo service ssh start (centos7 为 systemctl restart sshd)启动ssh
如果提示 sshd error: could not load host key 则用下面的命令重新生成
sudo rm /etc/ssh/ssh*key 
dpkg-reconfigure openssh-server

提示rm: cannot remove '/etc/ssh/ssh*key': No such file or directory 不用理会,因为是第一次所以不存在

8.在windows命令行模式下执行 ssh-keygen -t rsa 生成密钥,生成一个私钥id_rsa和一个公钥id_rsa.pub

9.将公钥(id_rsa.pub)复制到linux下 /root/.ssh/目录下并重命名为authorized_keys

10.在linux下执行 sudo service ssh restart 重启ssh服务,提示* Restarting OpenBSD Secure Shell server sshd 成功

11.使用Git Bash等工具执行 ssh [email protected]  (root为linux用户,123.123.123.123为远程ip地址,root可修改为其他用户,ip地址可修改为解析的域名)

12.Git Bash等工具提示 The authenticity of host '****** (123.123.123.123)' can't be established.
ECDSA key fingerprint is SHA256:DwCXt/IhKoVfBBSaMqcJ3sDsFb+6YD7m3piDTSDX6Ho.
Are you sure you want to continue connecting (yes/no/[fingerprint])? 

输入 yes 并回车,此时会在windows下的C:\Users\username\.ssh\known_hosts 文件保存连接信息,如果密钥更换,需要将known_hosts文件对应的信息删除

13.Git Bash等工具提示 [email protected] password: 输入用户密码,连接成功

14.配置免密登录,修改windows下的C:\Users\username\.ssh\config 文件,添加如下内容:
    Host CustomName
    HostName 123.123.123.123
    User root
    IdentityFile ~/.ssh/id_rsa
    StrictHostKeyChecking no
注:
Host :自定义连接名称
HostName:linux服务器的ip地址
User:登录linux的用户名
IdentityFile:与linux服务器上公钥对应的私钥

使用Git Bash等工具执行 ssh CustomName

 

 

你可能感兴趣的:(Linux)