github 的 ssh 免密码登录,及 ssh 常用操作

通常在配置 git 代码托管服务器的时候,比如 github, gitee, gitlab 等,添加一个 ssh key 就能免密访问,这里的配置方法如下

生成 ssh key

如果不确定是否已经生成过 ssh key,查看 .ssh 目录

Mac OS

$ ls ~/.ssh
id_rsa      id_rsa.pub  known_hosts

Windows

需要先安装 git,查看 C:\Users\%用户名%\.ssh

如果存在,则 id_rsa.pub 就是公钥,其中的文本内容,整个复制后用来添加到托管服务器中

如果不存在该目录,通过以下命令生成,遇到的提示信息都直接回车(Windows 需要打开 git bash 再操作)

# -t 密钥类型,默认是 rsa,可以省略
# -C 注释,比如邮箱
ssh-keygen -t rsa -C "your_email_address"
known_hosts

当 ssh 连接到远程服务器的时候,会将该服务器的 pub key 和 ip 信息保存到 known_hosts 文件,如果下次这个 ip 被另一台服务器使用,则 ssh 免密登录时会发出警告,提示安全风险,是安全性策略的一个配置文件

复制公钥到远程服务器
ssh-copy-id 服务器用户名@服务器 ip

会将它写入到服务器 ~/ .ssh/authorized_key 中,使用时要输入远程服务器的登录密码

之后 ssh 登录远程服务器时就不用再输入密码

ssh 远程登录
# 常用的登录方法
ssh 服务器用户名@服务器 ip

# 本地和远程服务器用户名一致,省略用户名
ssh ip

# 调用图形界面
ssh -X 服务器用户名@服务器 ip

之后进入远程服务器的 shell,可以进行命令操作

ssh 远程拷贝

同本地 cp 操作类似,但是需要指定服务器名和 ip

本地复制到远程

scp 本地文件 server_name@server_ip: 远程路径
scp -r 本地目录 server_name@server_ip: 远程路径

远程复制到本地

scp server_name@server_ip: 远程文件 本地路径
scp -r server_name@server_ip: 远程目录 本地路径 
ssh 远程命令

有时我们希望将远程命令写入脚本,方便批量处理,可以执行单独的 ssh 命令

ssh server_name@server_ip "df -h"
ssh server_name@server_ip "pwd; ls"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值