6 Star 72 Fork 28

JustryDeng / notebook

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
[10]ssh公私钥登陆.md 3.14 KB
一键复制 编辑 原始数据 按行查看 历史
JustryDeng 提交于 2024-01-02 16:24 . ssh公私钥登陆

ssh公私钥登陆

1.1. 整体说明

角色 持有项
客户端 rsa私钥
服务端 rsa公钥

1.2. ssh公私钥登陆

通过公私钥登陆,即:不需要账号密码

1.2.1. 第一步:在客户端生成公私钥对

# 生成公私钥文件,指定算法、邮箱(一路回车即可,公私钥默认生成到~/.ssh/下)
# -C:说的是注释,但是经本人测试,随便写可能导致生成的ssh秘钥不可用,最好写联系邮箱
ssh-keygen -t rsa -C "13548417409@163.com"
# ~代表当前用户的home目录
ls ~/.ssh/

image-20221205122729156

注意:生成的私钥文件全路径名如果不是默认的(~/.ssh/id_rsa)的话(即:不论是你生成时指定了还是生成后进行了重命名等修改,都算)。那么还需要在配置文件中 ~/.ssh/config进行相关配置,可参考

1.2.2. 第二步:服务端登记客户端公钥

将客户端的公钥追加至服务端的~/.ssh/authorized_keys文件下,其中~代表登陆用户。即:如果你想以root登陆服务端,那么就需要将将客户端的公钥追加至服务端的/root/.ssh/authorized_keys文件下

注:若~/.ssh/authorized_keys相关路径或文件不存在,则直接创建即可

cat /root/.ssh/{客户端公钥文件} >> /root/.ssh/authorized_keys

image-20221205123756129

注:上图中,追加客户端公钥至服务端的~/.ssh/authorized_keys文件后,临时上传上来的记录客户端公钥的文件就没用了,就可以删除了

1.2.3. 第三步:在客户端直接ssh到服务端,或ssh执行服务端指令即可

进行ssh后,可通过这些指令进行退出

  • exit
  • logout
  • 按ctrl + d
  • ssh登陆示例

    ssh -p {服务端端口} {用户名}@{服务端地址}

    image-20221205132857429

  • ssh执行远程shell示例

    # ssh执行服务端指令
    ssh -p {服务端端口} {用户名}@{服务端地址} "{指令1} ; {指令2} ; {指令3}"

    image-20221205133604079

1
https://gitee.com/JustryDeng/notebook.git
git@gitee.com:JustryDeng/notebook.git
JustryDeng
notebook
notebook
master

搜索帮助