Mac上sshd服务启用

原文地址:https://segmentfault.com/a/1190000001732729

scp (Secure copy) 命令相信 同学们都知道。今天我想从我的一台同局域网内的Linux 机器上拷贝几个文件到我的的机上来。突然想到,mac 毕竟不是 linux, sshd 服务默认没有启动的可能性很大。

到底有没有 sshd 服务呢?看看呗?于是:

➜  ~  ps auwx | grep sshd
yin 1921  0.0  0.0  2432772 640 s000  S+  6:53下午   0:00.00 grep sshd

果然没有启动 sshd 服务。那怎么办呢?

在 linux 上启动 sshd 服务的方式 很简单。

-> ~ sudo /etc/init.d/sshd start

但是 mac 上没有 init.d 目录啊。

那这样试试。直接使用二进制可执行程序 + 配置文件启动。

-> ~ sudo /usr/bin/sshd - f /etc/sshd_config

这样没有问题,可以正常使用,但是 不能每次开机都执行 一次 命令吧。

于是上网搜罗了一番。原来需要使用 苹果的自家方案.

一般情况下 linux 中的启动服务的方案(包括开机自动启动)都是这样的

-> ~ sudo service sshd start
-> ~ chkconfig --level 35

而最新的 CentOS 7 中是这样的

-> ~ sudo systemctl sshd.service start

在 Mac OS 中是这样的

-> ~ sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist

.plist 文件是 objective-c 编程架构中的 配置文件。
说明 launchctl 服务管理器是oc写的,怎么又废话起来了

停止

-> ~ sudo launchctl unload -w /System/Library/LaunchDaemons/ssh.plist

如何查看进程是否启动

-> ~ sudo launchctl list | grep sshd
-   0   com.openssh.sshd

OK 启动正常。剩下的事情就不必多说了。

### MacBook 使用 VSCode 连接服务器失败及服务器无法网络下载 server 文件的解决方案 #### 一、排查连接问题 当遇到 Mac 上使用 VSCode 连接服务器失败的问题时,可以先确认基本的连通性和配置情况。 如果能够通过 `telnet` 或者其他方式访问到目标机器的 SSH 端口(通常是22),这表明物理层面上是可以到达该设备的[^4]。然而,具体的应用层协议如SSH可能由于多种原因而未能正常工作。 对于提到的现象——即在相同条件下 MAC 终端可正常使用而 PC 不行,并且怀疑是 VSCode 的问题而非花生壳或其他因素造成的状况: - 需要验证是否为特定编辑器设置引起的差异; - 检查是否有防火墙规则阻止了来自某些客户端类型的请求; - 探讨是否存在认证机制上的区别对待不同操作系统的行为; #### 二、解决 VSCode 连接问题 针对上述猜测中的第一个可能性,建议按照如下方法调整 VSCode 设置来尝试解决问题: 1. **更新扩展插件**:确保所有用于远程开发的相关插件都是最新版本。 2. **修改配置文件**:检查并适当更改 `.ssh/config` 中有关 HostName 和 User 字段的内容以匹配实际需求。 3. **启用日志记录功能**:开启详细的调试模式可以帮助定位潜在错误源,在命令面板里输入 "Remote-SSH: Open Settings JSON" 并添加 `"remote.SSH.logLevel": "verbose"` 参数。 4. **重置缓存数据**:有时候旧有的会话残留也可能引发冲突,清除这些历史信息往往有助于恢复正常操作流程。 5. **更换默认 Shell**:部分情况下改变终端解释程序也能带来意想不到的效果,比如从 bash 切换至 zsh 可能更适配 macOS 系统特性。 #### 三、处理服务器无法下载外部资源的问题 关于服务器本身存在联网障碍从而影响软件包获取等问题,则需进一步分析其背后的原因所在: - 如果是在执行 apt-get update 或 yum install 命令时报错提示找不到镜像站地址之类的反馈,那么很可能是 DNS 解析环节出现了异常,此时应考虑同步本机 `/etc/resolv.conf` 内容或将 nameserver 设定指向公共DNS服务提供商处获得稳定解析能力。 - 对于 HTTPS 类型的数据交换而言,SSL/TLS 握手过程中的任何失误都会直接导致整个事务中断,鉴于之前有提及 LibreSSL 相关报错实例[^3],不妨试着升级 OpenSSL 库版本或是切换回官方推荐的安全传输组件上来规避兼容性风险。 最后值得注意的是,考虑到安全策略方面的要求,有时企业级环境中会对进出流量实施严格管控措施,这就意味着即便理论上具备完整的互联网接入权限也未必就能顺利实现预期目的。因此务必事先了解清楚所处环境下的各项限制条件再做相应安排。 ```bash # 修改 /etc/ssh/sshd_config 文件允许 root 用户登录 (谨慎操作) PermitRootLogin yes # 更新系统时间防止证书校验失败 sudo ntpdate pool.ntp.org # 安装必要的依赖库修复 SSL 错误 brew install openssl export LDFLAGS="-L/usr/local/opt/openssl/lib" export CPPFLAGS="-I/usr/local/opt/openssl/include" # 清理 APT 缓存重新索引可用仓库列表 sudo rm -rf /var/lib/apt/lists/* sudo apt-get clean all sudo apt-get update ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值