SSH 密钥登陆
什么是密钥登录
网上讲解公私密钥的文章不要太多,这里不做赘述列举一下几个文章一看便知: 英文版:什么是密钥认证
为什么用密钥登录
从实用角度看密钥登录有以下三点好处:
- 安全,相对于密码登录更安全
- 方便,一次配置,无需再经历输入密码过程
- 统一登录,一对公私密钥可以在多台服务器上使用
操作步骤
网上有很多教程,有好有劣,这里选择一个最简单的方式作为参考
Mac,Linux平台
生成自己的密钥对
[root@host ~]$ ssh-keygen <== 建立密钥对
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): <== 按 Enter
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): <== 输入密钥锁码,或直接按 Enter 留空
Enter same passphrase again: <== 再输入一遍密钥锁码
Your identification has been saved in /root/.ssh/id_rsa. <== 私钥
Your public key has been saved in /root/.ssh/id_rsa.pub. <== 公钥
The key fingerprint is:
0f:d3:e7:1a:1c:bd:5c:03:f1:19:f1:22:df:9b:cc:08 root@host将自己生成公钥添加到你要免密登录到服务器 网上很多教程,其实都是手动添加,这对于初学者来说会不明就里,实际上Linux平台已经有相关的命令行工具来帮助解决这个问题,这里我推荐初学者使用这种方式在目标服务器上添加自己的公钥来实现免密登录
ssh-copy-id -i ~/.ssh/id_rsa.pub(本机的公钥路径) username@target_host
提示输入密码,输入对应username密码,回车,配置完成。以后就可以直接ssh username@target_host直接登录服务器管理员为开发者添加密钥方法 第二步中的情况是开发者知道服务器密码的情况,这一步是讲系统管理系统在不泄露密码的情况对某个开发者进行登录授权, 开发者通过第一步的方法生成RSA公私密钥,将公钥文件或者内容交给管理员 系统管理员获取公钥后,登录服务器,将公钥内容添加到服务器目标账号,例如root用户的.ssh目录中的authorized_keys文件中
/root/.ssh/authorized_keys添加后保存,这样就实现了允许开发人员的免密登录
Windows平台
Windows 平台由于没有对应的命令行工具,这里推荐使用Xshell工具来生成密钥对和配置密钥,可以参考下面文档进行操作
相关参考文档
这里同样提供一个如何通过密钥,免密clone和上传自己在Gitee代码的官网参考文档
Jenkins 权限配置
- 安装Role-based Authorization Strategy插件(仅首次配置)
- [Manage Jenkins] -> [Configure Global Security] -> [Authorization] – 选择Role-Based Strategy,如下图
- [Manage Jenkins] -> [Manage and Assign Roles] -> [Manage Roles] 添加Role,需要注意Global roles的Overall Read权限必须勾选
- [Manage Jenkins] -> [Manage and Assign Roles] -> [Assign Roles]
Nginx
安装最新的Nginx
- Install the prerequisites:
sudo yum install yum-utils - To set up the yum repository, create the file named
/etc/yum.repos.d/nginx.repowith the following contents:
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true- By default, the repository for stable nginx packages is used. If you would like to use mainline nginx packages, run the following command:
sudo yum-config-manager --enable nginx-mainline- To install nginx, run the following command:
sudo yum install nginx- When prompted to accept the GPG key, verify that the fingerprint matches
573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62, and if so, accept it.
Nginx 将所有Http 重定向到Https
server {
listen 80;
server_name www.域名.com;
rewrite ^(.*) https://$server_name$1 permanent; //永久重定向
rewrite ^(.*) https://$server_name$1 redirect; //暂时重定向
}Nginx 配置文件结构
main context(nginx.conf)
events
http -> server -> location
Vim 配置tab为四个空格
通过命令编辑: vim /etc/vimrc
set ts=4
set expandtab
set autoindentLinux下的tar压缩解压缩命令详解 – 转载
tar
-c: 建立压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件
这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。
-z:有gzip属性的
-j:有bz2属性的
-Z:有compress属性的
-v:显示所有过程
-O:将文件解开到标准输出
下面的参数-f是必须的
-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。
# tar -cf all.tar *.jpg
这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。
# tar -rf all.tar *.gif
这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。
# tar -uf all.tar logo.gif
这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。
# tar -tf all.tar
这条命令是列出all.tar包中所有文件,-t是列出文件的意思
# tar -xf all.tar
这条命令是解出all.tar包中所有文件,-t是解开的意思
压缩
tar -cvf jpg.tar *.jpg //将目录里所有jpg文件打包成jpg.tar
tar -czf jpg.tar.gz *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz
tar -cjf jpg.tar.bz2 *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2
tar -cZf jpg.tar.Z *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z
rar a jpg.rar *.jpg //rar格式的压缩,需要先下载rar for linux
zip jpg.zip *.jpg //zip格式的压缩,需要先下载zip for linux
解压
- tar -xvf file.tar //解压 tar包
- tar -xzvf file.tar.gz //解压tar.gz
- tar -xjvf file.tar.bz2 //解压 tar.bz2
- tar -xZvf file.tar.Z //解压tar.Z
- unrar e file.rar //解压rar
- unzip file.zip //解压zip
总结
- *.tar 用 tar -xvf 解压
- *.gz 用 gzip -d或者gunzip 解压
- *.tar.gz 和 *.tgz 用 tar -xzf 解压
- *.bz2 用 bzip2 -d或者用bunzip2 解压
- *.tar.bz2 用tar -xjf 解压
- *.Z 用 uncompress 解压
- *.tar.Z 用tar -xZf 解压
- *.rar 用 unrar e解压
- *.zip 用 unzip 解压