提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
在windows宿主机上使用系统自带的openSSH连接linux。
(本例连接的vmware中centos7)
一、openSSH
1.查看本机是否安装
win+R 输入 openssh
跳转到openSSH所在目录(我的是 C:\Windows\System32\OpenSSH)
如果没有请自行安装,一般系统自带。
2.配置环境变量
在系统变量path中添加 openSSH 所在目录即可
3.基本命令
win+R 输入cmd 运行,然后输入ssh
可以看到help选项中显示可选的参数列表,一般连接只需要用到 user@host 即可。
学习openssh可参考:https://blog.csdn.net/weixin_44570083/article/details/109435794
https://blog.csdn.net/asmartkiller/article/details/112209755
二、连接
1.应用
cmd输入 ssh user@localhost (输入你自己要连接linux的用户和ip地址)
如果成功连接上显示如下内容:
输入yes,然后输入密码即可完成连接。
2.bug
bug原因大概有两个:
1、C:\Users\xxxx/.ssh/config 文件没有权限,参考:
https://blog.csdn.net/weixin_44749184/article/details/124188026
https://blog.csdn.net/qq_37596943/article/details/122349066
2、如果使用 vscode 连接 linux 出现该问题,解决方案:https://zixizixi.cn/windows_vscode_ssh_error_bad-owner-or-permissions
3、git ssh和openssh冲突,解决方案:
https://haolaoshi.blog.csdn.net/article/details/108882983
4、实在不行,考虑直接删除config文件(config文件被修改可能有问题)
我这里报出 Bad owner or permissions on C:\Users\xxxx/.ssh/config 问题,
实际上是git ssh和openssh冲突,通过环境变量查看如下:
也可以win + s 搜索git bash 查看所在文件位置
该目录下etc/ssh中有ssh_config、sshd_config
这三个文件 和 C:\Users\xxxx/.ssh目录下文件有关联。
到这,找到了 Bad owner or permissions on C:\Users\xxxx/.ssh/config 问题的产生。
3.解决bug
openssh和git ssh配置冲突的解决方案:
1、环境变量中移除openssh,使用git ssh即可
2、使用 ssh root@loalhost [-F config_file] 手动指定config文件位置,这样不需要移除openssh
这里演示第二个方案:
在 C:\Users\xxxx\下创建 openssh_config 空文件 (叫啥都行)
cmd输入 ssh root@loalhost -F openssh_config,然后输入密码即可
三、shell工具
推荐一个好用shell工具 windows terminal,方便连接linux
1.安装
从Microsoft store中直接下载
2.配置
启动windows terminal,按住(ctrl + , )打开设置,选择添加新配置文件
这里配置项较多,主要配置以下:
1、名称:随便取
2、命令行:
C:\Windows\System32\OpenSSH\ssh.exe -F C:\Users\xxx\openssh_config -p 22 root@host
3、启动目录:使用父进程目录
4、图标:
可以从 https://www.logosc.cn/ 生成,进入该网站选择【在线LOGO设计】
5、选项卡标题:不用填
6、【管理员身份运行 】和 【从下拉菜单中隐藏】不用开
7、其他设置中【外观】和【高级】自定义
完成更改后,点击下拉框选择刚才新创建的配置文件选项,输入密码即可
四、密钥
这个网上教程太多了,推荐地址:
https://blog.csdn.net/qq_34142812/article/details/102155760