远程办公有一段时间了,ssh远程登录服务器是必不可少的。一般人可能会去找XShell,然后有人喜欢Putty,MobaXTerm之类。其实Win10已经自带了ssh客户端和服务端了,简单使用的话不用麻烦去下别的。这里看下ssh客户端的使用,关键是对应的key权限问题。

安装

打开PowerShell,输入ssh三个字母,按Enter。

PS C:\Users\wangyueheng> ssh

usage: ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-B bind_interface]

[-b bind_address] [-c cipher_spec] [-D [bind_address:]port]

[-E log_file] [-e escape_char] [-F configfile] [-I pkcs11]

[-i identity_file] [-J [user@]host[:port]] [-L address]

[-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port]

[-Q query_option] [-R address] [-S ctl_path] [-W host:port]

[-w local_tun[:remote_tun]] destination [command]

打印出usage,这样就完事了。

如果报错找不到命令,那么就:设置-应用和功能-可选功能-添加功能,添加ssh客户端即可。

功能

不妨看一下Win10把这个ssh客户端放哪里了。

PS C:\Users\wangyueheng> where.exe ssh

C:\Windows\System32\OpenSSH\ssh.exe

打开这个文件夹,看看都有些什么。

scp.exe

sftp.exe

ssh-add.exe

ssh-agent.exe

ssh-keygen.exe

ssh-keyscan.exe

ssh.exe

看来除了ssh.exe还有别的非常有用的东西。例如生成key的keygen和拷贝文件的scp都有了。

ssh key

这里假设已经有了用于连接公司服务器的自己的私钥,例如一个名为id_rsa的文件。可以用-i指定路径,更好的是放在自己用户名下的.ssh文件夹里。

然后尝试登陆,可能会报错,其他方式登录也极有可能会报的,私钥文件权限太公开。就是如果别人也能轻松看到你的私钥(没有限制id_rsa文件的权限),那么ssh就忽略你这个私钥。

PS C:\Users\wangyueheng> ssh -p 30000 wangyueheng@1.2.3.4

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

@ WARNING: UNPROTECTED PRIVATE KEY FILE! @

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

Permissions for 'C:\\Users\\wangyueheng/.ssh/id_rsa' are too open.

It is required that your private key files are NOT accessible by others.

This private key will be ignored.

Load key "C:\\Users\\wangyueheng/.ssh/id_rsa": bad permissions

wangyueheng@10.246.254.81: Permission denied (publickey).

如果是Linux环境,一搜就会发现,对这种ssh "permissions are too open" error,需要执行一个

sudo chmod 600 ~/.ssh/id_rsa

让别人不可读写这个文件。

那么问题来了,Windows没有chmod命令。需要用别的方式改权限。

修改key权限

对id_rsa文件:右击-属性-安全-高级。这是我从公司电脑上复制下来的key,在我自己的电脑上看,属性是这样的:

首先,点击窗口左下角的“禁用继承”,然后删除“权限条目”里自己以外的人。搞完后像这样:

这时,这个私钥文件才为自己独有。这时就可以用这个登陆服务器了。

其他

一个非常有用的东西,在PowerShell里按Ctrl+R,输入ssh字样,然后不断按Ctrl+R,可以往上翻以前输过的带'ssh'字样的命令,和Linux Shell几乎一样,非常方便。

我经常本地写好代码后rsync到服务器,并且使用的是带密码(passphrase)的私钥,那么每次输入密码就很烦。如果是Linux Shell,使用ssh-agent就只用输一次了。

wangyueheng@PC-XZ:~$ eval $(ssh-agent)

Agent pid 16

wangyueheng@PC-XZ:~$ ssh-add

Enter passphrase for /home/wangyueheng/.ssh/id_rsa:

Identity added: /home/wangyueheng/.ssh/id_rsa (/home/wangyueheng/.ssh/id_rsa)

上面是在Win10 Store里安装的Debian WSL里输入的。

突然发现,Win10自带的ssh-agent.exe其实也是可以用的!使用上和Linux有点区别。

正常操作,直接执行以下ssh-agent.exe,会报错

PS E:\Software> ssh-agent

unable to start ssh-agent service, error :1058

搜了一下发现,是有个对应的服务被禁用了

PS E:\Software> Get-Service ssh-agent | Select *

Name : ssh-agent

RequiredServices : {}

CanPauseAndContinue : False

CanShutdown : False

CanStop : False

DisplayName : OpenSSH Authentication Agent

DependentServices : {}

MachineName : .

ServiceName : ssh-agent

ServicesDependedOn : {}

ServiceHandle :

Status : Stopped

ServiceType : Win32OwnProcess

StartType : Disabled

Site :

Container :

注意StartType是Disabled,就是说无法开启服务。再就是DisplayName是“OpenSSH Authentication Agent”。按win键输入service,打开“服务”,根据DisplayName找到这个服务,修改启动方式为“手动”。然后再执行ssh-agent.exe就不会报错了!

然后执行ssh-add.exe,应该可以正常使用了,不需要每次输入passphrase了。

PS E:\Software> ssh-agent

PS E:\Software> ssh-add

Enter passphrase for C:\Users\wangyueheng/.ssh/id_rsa:

Identity added: C:\Users\wangyueheng/.ssh/id_rsa (C:\Users\wangyueheng/.ssh/id_rsa)

为了使用rsync,不得不弃用了Win10自带的ssh。装好Debian,源改成中科大的http://mirrors.ustc.edu.cn,安装openssh和rsync。

另一个非常有用的东西,按住Shift,在文件夹空白处右击,菜单里有

可以直接打开PowerShell和Linux shell,工作目录就是当前目录。

而在Linux shell里(或PowerShell里,PowerShell还可以start .),直接

wangyueheng@PC-XZ:~$ explorer.exe .

(别漏了后面那个点)

就可以直接打开文件管理器!如果是Linux分区,那么看上去像挂了一个网络盘在Windows里;如果是Windows分区,那么直接就是正常的文件夹。这比虚拟机还要好用。

win10安装sshpass_Win10自带的ssh客户端key权限设置相关推荐

  1. debian重启ssh服务_Win10自带的ssh客户端key权限设置

    远程办公有一段时间了,ssh远程登录服务器是必不可少的.一般人可能会去找XShell,然后有人喜欢Putty,MobaXTerm之类.其实Win10已经自带了ssh客户端和服务端了,简单使用的话不用麻 ...

  2. Win10自带的SSH客户端

    我之前都是用SecureCRT 8.5来连接服务器,今天新开了一个服务器,也计划用这个来连接,没想到报以下错误. Key exchange failed. No compatible key-exch ...

  3. mysql服务器端按照显示无权限安装_菜鸟完整配置服务器 流程及权限设置

    本人是一菜鸟,虽然刚刚接触网络,但是有点痴迷.最近因为网络环境允许自己搞台服务器,就选了WIN2003搭建服务器. 原以为网上教程还有落伍者的教程多的是,以为简单的很!哎,谁知道教程虽多,不是缺这个就 ...

  4. win10安装notion enhancer详细步骤,notion目录悬浮功能设置

    ------------------------ 3.2日更新,话先说在这里,如果是为了使用目录功能的小伙伴可以不看这个教程,因为这版的enhancer只能显示顶多20条目录.再说一句,我也是一个分享 ...

  5. SSH客户端字符集编码设置

    XShell SecrueCRT

  6. 使用windows电脑SSH客户端链接Iphone手机的sshd服务(免越狱)

    最近有需求使用电脑导出手机中特定app的文件. 当然可以直接连上数据线将手机中的文件下载下来. 为了能做到代码自动化导出,将手机作为一台电脑使用,将手机中的文件导出来. 关键问题是如何将手机作为电脑使 ...

  7. 使用go的ssh包快速打造一个本地命令行ssh客户端

    2019独角兽企业重金招聘Python工程师标准>>> 热身运动? 在开始之前,先来个热身运动.虽然标题党写着快速打造一个ssh客户端,但是和跑步一样,在运动前还是需要先热身一下,不 ...

  8. WIN7与WIN10 安装

    -恢复内容开始- 开始的系统'>操作系统是黑白屏的DOS,随着光标的一闪一闪并逐渐后移,一条条指令输入电脑,并执行相关指令完成任务.慢慢的,视窗系统'>操作系统最初是基于DOS的windo ...

  9. linux ssh服务端下载文件,Linux SSH服务端配置文件设置

    一 SSH概述 SSH 由 IETF 的网络小组(Network Working Group)所制定:SSH 为建立在应用层基础上的安全协议.SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安 ...

最新文章

  1. 【python】解压文件
  2. CVPR 2021 | 港大、牛津提出PAConv: 一种位置自适应卷积,点云分类、分割任务表现SOTA
  3. C#几种在客户端跳转
  4. 并发编程中常见的锁机制:乐观锁、悲观锁、CAS、自旋锁、互斥锁、读写锁
  5. 解析“60k”大佬的19道C#面试题(下)
  6. centos7离线安装oracle11g,CentOS 7.5离线安装Oracle 11gR2
  7. kasp技术原理_KASP基因型测定技术在各个学科的应用实践(内附官方重要资料)...
  8. vue中 key 值的作用
  9. 计算机考研之数据库系统概论
  10. 怎样使用SQL SERVER新建立一个数据库
  11. 02-iOS蓝牙连接流程介绍
  12. Gensim库的使用——Word2vec模型(一)模型的简单介绍与加载预训练的模型进行测试
  13. python绘制正态分布图像
  14. Android常用布局-01
  15. Linux(2019年)-10.11
  16. 基于SSM框架流浪猫救援网站的设计与实现 毕业设计-附源码201502
  17. 已解决(pip报错)WARNING: The repository located at mirrors .aliyun.com is not a trusted or secure host and
  18. 算法竞赛---day1(等差素数列)
  19. STL浅析 RB-tree(红黑树)
  20. 认识数据库管理工具 dbForge Edge,您的多数据库解决方案!

热门文章

  1. php重置网页按钮,html中递交按钮和重置按钮代码,要怎么输入?
  2. 手机日常使用技巧、和手机停机如何免费上网 。好多大家不知道的功能:不看后悔哦
  3. 电子健康档案:实现医疗信息的有效共享
  4. 跳板机/堡垒机并不安全
  5. MySQL数据库——常用数据库大汇总(附带优缺点)
  6. 2021/7/15 习题2-6 求阶乘序列前N项和
  7. 【自制】我造了一台 钢 铁 侠 的 机 械 臂 !【硬核】
  8. 2017年美亚杯资格赛 个人赛 writeup
  9. 计算9+99+999+……+999999999
  10. latex按照知网格式引用论文