Mac下的 sshd 服务

2020-04-01 20:28:23 浏览数 (1)

前言

最近要用到 Mac 下的 sshd 服务, 但每次使用的时候都是出现各种状况,所以特写此篇文章对 Mac下的sshd服务做一下梳理。在 Mac 下启动 sshd 服务的基本流程:

  • 在 Mac 系统上打开 ssh 服务权限
  • 修改 sshd 配置
  • 在登录制生成 rsa key
  • 将 rsa key 存到 server 端的 ~/.ssh/authorized_keys文件中
  • 重启ssh服务

在Mac上打开sshd访问权限

  • 勾选 Apple menu > System Preferences > Sharing > Remote Login (启动台 ->系统偏好设置->共享->远程登录)
  • 选择任何人

修改 sshd 配置

在/etc/ssh/sshd_config文件中只需打开下面几项:

  • AuthorizedKeysFile .ssh/authorized_keys 指定被授权的用户的rsa 加密key存放的位置。
  • UsePAM 使用 PAM 进行权限管理。
  • AcceptEnv LANG LC_* 指明本地位置信息。
  • Subsystem sftp /usr/libexec/sftp-server 默认协议。

在客户端生成 ssh rsa key

  • 执行 ssh-genkey -t rsa 命令,然后要求输入的地方一直回车。
  • 打开~/.ssh/id-rsa.pub文件,拷贝里面的内容。

启动 sshd 服务

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

停止 sshd 服务

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

查看sshd服务是否启动

sudo launchctl list | grep ssh

know_hosts 作用

在 Mac 上的~/.ssh/ 目录下有一个 know_hosts文件,里边存放了所以你访问过的 sshd 服务,它是一个缓冲文件。每当你通过 ssh 远程访问时,它都会先到这个文件中去查找是否有以前的记录。

在一些情况下,如果你访问某台sshd服务出现了错误,那么当你下次访问时还是报错,很可能就是这个文件导致的。所以出现类似问题时,你要记得清一下这个文件中的内容。

0 人点赞