关于SSH

作者: 呆呆笨 | 来源:发表于2020-07-03 10:59 被阅读0次

mac本身安装了ssh服务,默认情况下不会自启

SSH服务的启动和关闭

1、启动sshd服务:

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

2、关闭sshd服务:

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

3、查看是否启动:

$ sudo launchctl list | grep ssh

如果看到下面的输出表示成功启动了:

 - 0  com.openssh.sshd

生成ssh key

第一步

先检查本地是否有git,输入:git version,有则会返回版本号。如下:


第二步

执行:cd ~/.ssh 进入.ssh文件目录下,如果之前没有生成过ssh key,会提示找不到,不用慌,也不需要手动创建。

cd: no such file or directory: /Users/dianchou-ios/.sssh

如果已有.ssh文件,执行:ls 查看目录下的文件,如果已有id_rsa和id_rsa.pub两个文件,你可以忽略下面的步骤了,直接拿id_rsa.pub文件内的公钥使用即可(注意:是文件内所有的内容,不用自行删减)

第三步

执行:ssh-keygen -t rsa -C "email@xxx.com",其中xxx填写自己的邮箱。
这时候会提示:

Generating public/private rsa key pair.
Enter file in which to save the key (/Users/dianchou-ios/.ssh/id_rsa): 

询问你是否自定义文件名,如果不填,秘钥默认存储在is_rsa文件中。

之后会提示你保存.ssh/id_rsa文件路径,直接enter即可(.ssh会自动帮你创建)

Created directory ‘/Users/xxx/.ssh’.
Enter passphrase (empty for no passphrase):

接着会提示你设置密码:(看你心情,我一般直接回车)

Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 

成功会提示:


命令解释:
-C:提供一个新注释,在.pub公钥文件中结尾显示。
-f:指定密钥文件名,如果没有指定,在执行命令时会提示
"Generating public/private rsa key pair.
Enter file in which to save the key (/Users/dianchou-ios/.ssh/id_rsa): "。

-t:指定密钥类型,包括 RSA 和 DSA 两种密钥(如果没有指定则默认生成用于SSH-2的RSA密钥)。

第四步

执行:ssh-add ~/.ssh/id_rsa,这时候会提示输入密码,输入刚刚设置的密码即可,成功提示:

Identity added: /Users/XXX/.ssh/id_rsa (email@XXX.com)

第五步

举例:要提交到GitHub,在GitHub的settings中找到SSH Key的配置,输入id_rsa.pub文件的内容(公钥)。
执行命令:ssh git@github.com 或 ssh -T git@github.com,会提示:

The authenticity of host 'github.com (13.229.188.59)' can't be established.
RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
Are you sure you want to continue connecting (yes/no/[fingerprint])?

选择yes,成功则提示:

Hi XXX! You've successfully authenticated, but GitHub does not provide shell access.
Connection to github.com closed.

如果失败会提示

Warning: Permanently added 'github.com,13.229.188.59' (RSA) to the list of known hosts.

可以先执行:eval "$(ssh-agent -s)",然后在执行ssh git@github.com 或 ssh -T git@github.com 就可以了。

命令解释:
-T:禁止分配伪终端

第六步

成功后,在.ssh文件下会生成一个known_hosts文件:记录每个你访问过计算机的公钥(public key),查看即可。

相关文章

  • 入职体操

    Stash 创建SSH Key 关于秘钥,如果~/.ssh里面没有key的话,参照如下方法: ssh-keygen...

  • Git使用(三)

    用SSH连接GitHub 关于SSH: 使用SSH协议,你可以连接并验证远程服务器和服务。 使用SSH密钥,您可以...

  • 关于SSH

    查看 如果没有公钥与私钥就需要进行创建,如果有,可进行查看 查看 创建 一路enter下, 生成 在当前用户名下 ...

  • 关于SSH

    码云上有SSH的配置方法1.生成 sshkey: 2.查看你的 public keycat ~/.ssh/id_r...

  • 关于SSH

    mac本身安装了ssh服务,默认情况下不会自启 SSH服务的启动和关闭 1、启动sshd服务: 2、关闭sshd服...

  • 关于ssh

    给自己做个记录,防止以后忘记怎么使用。主要是看的这篇文章SSH 基本用法。如有侵权请告知删除。

  • 使用 SSH 连接到 GitHub(gitea)

    文档#### 关于 SSH→ 使用 SSH 协议可以连接远程服务器和服务并向它们验证。 利用 SSH 密钥可以连接...

  • Github使用ssh连接

    关于ssh的原理,请参考这篇文章:SSH原理与应用 检查本地是否存在SSH keys 打开Git Bash,输入以...

  • 使用SSH连接到GitHub

    关于SSH 使用 SSH 协议可以连接远程服务器和服务并向它们验证。 利用 SSH 密钥可以连接 GitHub,而...

  • SSH-Keygen的使用

    SSH-Keygen的使用 昨天大致整理了下关于ssh连接服务器的文档,当时遇到了关于密钥的问题,今天便整理了关于...

网友评论

      本文标题:关于SSH

      本文链接:https://www.haomeiwen.com/subject/zgmjqktx.html