SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议
获取/生成公钥和私钥
- 检查本地是否已有公钥和私钥,打开终端并输入
cd ~/.ssh
本地公钥一般在用户根目录下的.ssh文件夹下面, ~/代表用户根目录
若存在则能成功进入./ssh文件夹,输入ls
查看当前文件夹下的内容
- config -- ssh配置文件
- id_rsa -- 私钥
- id_rsa.pub -- 公钥
- known_hosts -- ssh会把你每个你访问过计算机的公钥都记录在这里
如果存在公钥私钥则可以无需生成,如果需要清理原来的可以输入
mkdir key_backup$ cp id_rsa* key_backup$ rm id_rsa*
然后再重新生成
2.生成公钥私钥
ssh-keygen -t rsa -C “您的邮箱地址”
在回车中会提示你输入一个密码,这个密码会在你提交项目时使用,如果为空的话提交项目时则不用输入。
生成成功,可以通过步骤1的命令查看生成好的公钥私钥
复制公钥的远程服务器
- 登陆服务器并检查用户根目录是否有./ssh
- 登陆服务器
ssh 用户名@主机名(ip/域名)
- 登陆后默认是在用户根目录,直接输入
ls -a
查看是否存在.ssh文件夹,若不存在输入以下命令创建
mkdir .ssh
- 使用scp将本地的id_rsa.pub到服务器~/.ssh/authorized_keys,新开一个终端并输入
scp ~/.ssh/id_rsa.pub 用户名@主机名:~/.ssh/authorized_keys
成功复制后可以在登陆了服务器的终端中输入cat ~/.ssh/authorized_keys
查看到公钥
3.修改服务器端.ssh相关权限
chmod 700 ~/.ssh //让.ssh文件夹具有让所有者读写和执行的权限
chmod 600 ~/.ssh/authorized_keys //让authorized_keys文件具有让所有者读写的权限
关于权限
sudo chmod 600 ××× (只有所有者有读和写的权限)
sudo chmod 644 ××× (所有者有读和写的权限,组用户只有读的权限)
sudo chmod 700 ××× (只有所有者有读和写以及执行的权限)
sudo chmod 666 ××× (每个人都有读和写的权限)
sudo chmod 777 ××× (每个人都有读和写以及执行的权限)
如果想了解更多技术圈内容和技术分享,可以搜索【今天不想写代码】或者扫描以下二维码关注公众号:
网友评论