家里的 Mac 如何通过 SSH 连接公司的 Win?

2023-02-17 23:53:38 +08:00
 fqy12300

前前后后折腾好几天,还是没搞定。只能来求助 V 友了。

  1. 公司用的是 secoclient 来连接公司内网的。
  2. 连接上之后,已经可以正常 ping 公司的 Win 了。
  3. 用 telnet 测试端口,显示以下结果。
FanydeMac-mini:~ root# telnet 10.23.110.4 22
Trying 10.23.110.4...
Connected to 10.23.110.4.
Escape character is '^]'.
SSH-2.0-OpenSSH_for_Windows_8.1
  1. 公司 Win 的 OpenSSH 的客户端和服务端都已安装,也都设置为自启动。
  2. 公钥和私钥都已设置,我是在 Win 上生成了公钥和私钥,然后把公钥放在了 Win 上,私钥放在了 Mac 上。不知道这样对不对。
  3. 最后通过 SSH 连接的时候,显示以下结果,密码是对的,但是就是连接不上。
FanydeMac-mini:~ root# ssh 0830fqy@10.23.110.4
0830fqy@10.23.110.4's password: 
Permission denied, please try again.
0830fqy@10.23.110.4's password: 
Permission denied, please try again.
0830fqy@10.23.110.4's password: 
0830fqy@10.23.110.4: Permission denied (publickey,password,keyboard-interactive).

Win 的 C:\Windows\System32\drivers\OpenSSH\sshd_config_default 配置如下

# This is the sshd server system-wide configuration file.  See
# sshd_config(5) for more information.

# The strategy used for options in the default sshd_config shipped with
# OpenSSH is to specify options with their default value where
# possible, but leave them commented.  Uncommented options override the
# default value.

#Port 22
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::

#HostKey __PROGRAMDATA__/ssh/ssh_host_rsa_key
#HostKey __PROGRAMDATA__/ssh/ssh_host_dsa_key
#HostKey __PROGRAMDATA__/ssh/ssh_host_ecdsa_key
#HostKey __PROGRAMDATA__/ssh/ssh_host_ed25519_key

# Ciphers and keying
#RekeyLimit default none

# Logging
#SyslogFacility AUTH
#LogLevel INFO

# Authentication:

#LoginGraceTime 2m
#PermitRootLogin prohibit-password
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10

#PubkeyAuthentication yes

# The default is to check both .ssh/authorized_keys and .ssh/authorized_keys2
# but this is overridden so installations will only check .ssh/authorized_keys
AuthorizedKeysFile	.ssh/authorized_keys

#AuthorizedPrincipalsFile none

# For this to work you will also need host keys in %programData%/ssh/ssh_known_hosts
#HostbasedAuthentication no
# Change to yes if you don't trust ~/.ssh/known_hosts for
# HostbasedAuthentication
#IgnoreUserKnownHosts no
# Don't read the user's ~/.rhosts and ~/.shosts files
#IgnoreRhosts yes

# To disable tunneled clear text passwords, change to no here!
#PasswordAuthentication yes
#PermitEmptyPasswords no

# GSSAPI options
#GSSAPIAuthentication no

#AllowAgentForwarding yes
#AllowTcpForwarding yes
#GatewayPorts no
#PermitTTY yes
#PrintMotd yes
#PrintLastLog yes
#TCPKeepAlive yes
#UseLogin no
#PermitUserEnvironment no
#ClientAliveInterval 0
#ClientAliveCountMax 3
#UseDNS no
#PidFile /var/run/sshd.pid
#MaxStartups 10:30:100
#PermitTunnel no
#ChrootDirectory none
#VersionAddendum none

# no default banner path
#Banner none

# override default of no subsystems
Subsystem	sftp	sftp-server.exe

# Example of overriding settings on a per-user basis
#Match User anoncvs
#	AllowTcpForwarding no
#	PermitTTY no
#	ForceCommand cvs server

Match Group administrators
       AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys

我其实是想用 VScode 远程开发服务,希望 V 友能帮帮我。

1088 次点击
所在节点    程序员
4 条回复
smy1999
2023-02-18 08:44:24 +08:00
是客户端 mac 生成公私钥吧,公钥发到服务端 win 上
lelandsu
2023-02-18 10:27:24 +08:00
既然密码登录,为什么还要 key ?
Windows 如果用的微软在线账户,那账户名是邮箱,密码是在线账户的密码,不是方便登录用的 PIN 码
lelandsu
2023-02-18 10:34:53 +08:00
如果使用密钥访问,Windows 要设置好公钥 authorized_keys 文件的权限,否则文件被忽略。
验证配置问题也可以 Windows 上 ssh 命令 账户 @127.0.0.1 进行验证,没问题再 Mac 远程访问。
Windows 上配置 ssh server 微软文档很详细,照着做就行了 authorized_keys
gdefw
2023-02-20 23:21:35 +08:00
允许 root 登录,把最后两行注了,公钥内容粘到 authorized 里

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/917083

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX