使用场景

使用vscode远程ssh登录使用public key不需要输入密码,比较方便.

windows安装ssh客户端

打开powershell命令行窗口

#查看ssh是否安装
Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'
#
Name  : OpenSSH.Client~~~~0.0.1.0
State : Installed

Name  : OpenSSH.Server~~~~0.0.1.0
State : NotPresent

#安装ssh客户
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
#安装ssh服务端
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

# Uninstall the OpenSSH Client
Remove-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

# Uninstall the OpenSSH Server
Remove-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

使用powershell ssh登录服务器

ssh username@serverIP

生成密钥文件

linux服务器上或者本地windows上生成,现在在linux服务器上生成

ssh-keygen -t ecdsa
#一路回车,passphrase密码设置为空(方便vscode使用过程中不需要输入passphrase密码)

cd ~/.ssh
#公钥保存文件authorized_keys,如果有多个公钥添加文件中,使用 >>
cat id_ecdsa.pub >authorized_keys

#把私钥文件id_ecdsa复制windows用户的.ssh目录中,例如:C:UsersAdministrator.ssh

ubuntu ssh服务器配置

sudo vim /etc/ssh/sshd_config

RSAAuthentication yes
PubkeyAuthentication yes
PermitRootLogin yes
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication yes
StrictModes no

重启ssh服务

sudo service ssh restart

使用vscode远程登录

vscode安装remote-SSH插件.

编辑C:UsersAdministrator.sshconfig配置文件

Host ubuntu18
	#远程linux服务器IP地址
    HostName 192.168.1.111
    #登录用户名
    User lei
    #私钥文件
    IdentityFile C:UsersAdministrator.sshid_ecdsa

下图,Remote Explorer->Connect in Current Windows…,使用公钥登录linux服务器.
在这里插入图片描述

使用Xshell远程登录

下图点击Browse…导入私钥,Passphrase根据以前生成时的设置情况,这里为空.
在这里插入图片描述

使用MobaXtem远程登录

下图指定私钥文件

在这里插入图片描述

Server refused our key问题解决方案

#可以查看登录失败信息
sudo cat /var/log/auth.log | grep sshd

使用MobaXtem可以客户看到Server refused our key提示.

网上寻找了许多方案都不能解决问题,我的ubuntu系统安装有点问题.

最终发现ssh-keygen -t ecdsa生成的秘钥可以,同时sshd配置文件需要设置StrictModes no.

原文地址:https://blog.csdn.net/fedorayang/article/details/134671312

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_26728.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注