Linux相关知识的第十四回合
创建私有CA
并进行证书申请
# CA服务端
## 生成证书索引数据库文件,指定颁发证书序列号
pwd
# /etc/pki/CA
touch /etc/pki/CA/index.txt
echo 01 > /etc/pki/CA/serial
## 生成CA私钥
umask 066; openssl genrsa -out private/cakey.pem 2048
## 创建CA自签证书
openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -days 3650 -out /etc/pki/CA/cacert.pem
# 客户端
## 客户端生成私钥
umask 066; openssl genrsa -out /etc/pki/CA/private/private.key
## 生成证书申请文件
openssl req -new -key /etc/pki/CA/private/private.key -out /etc/pki/CA/newcerts/req.csr
# 私有CA服务端签署证书
## 客户端上传证书申请文件
scp -rpP 10022 /etc/pki/CA/newcerts/req.csr <CA server ip>:/etc/pki/CA/newcerts
## 签署证书
openssl ca -in /etc/pki/CA/newcerts/req.csr -out /etc/pki/CA/certs/128.crt -days 100
# 客户端导入证书,并将此添加到信任列表中
scp -rpP 10022 <CA server ip>:/etc/pki/CA/certs/128.crt /etc/pki/CA/certs
cat /etc/pki/CA/certs/128.crt >> /etc/pki/tls/certs/ca-bundle.crt
总结ssh
常用参数、用法
功能说明
openssh
套件中的客户端连接工具,可以给予ssh
加密协议实现安全的远程登录服务器
语法
ssh [OPTION]... [user@]hostname [command]
选项
-1
强制使用ssh协议版本1
-2
强制使用ssh协议版本2
-4
强制使用IPv4地址
-6
强制使用IPv6地址
-A
开启认证代理连接转发功能
-a
关闭认证代理连接转发功能
-b
使用本机指定地址作为对应连接的源ip地址
-C
请求压缩所有数据
-F
指定ssh指令的配置文件
-f
后台执行ssh指令
-g
允许远程主机连接主机的转发端口
-i
指定身份文件
-l
指定连接远程服务器登录用户名
-N
不执行远程指令
-o
指定配置选项
-p
指定远程服务器上的端口
-q
静默模式
-X
开启X11转发功能
-x
关闭X11转发功能
-y
开启信任X11转发功能
实例
# 远程登录服务
ssh 192.168.168.66
# 指定用户及ssh服务端口远程登录服务器
ssh -p 10022 kfx@192.168.168.66
# 指定用户及ssh服务端口远程登录服务器,并在远程服务器上执行命令
ssh -p 10022 hooper@192.168.168.66 pwd
hooper@192.168.168.66's password:
/home/hooper
总结sshd服务常用参数
egrep -v "^$|#" /etc/ssh/sshd_config
# 指定ssh服务端口
Port 10022
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key
SyslogFacility AUTHPRIV
# 是否禁止root远程ssh登录
PermitRootLogin no
# 是否基于key验证
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
# 是否基于用户名和密码连接
PasswordAuthentication yes
# 是否允许空密码连接
PermitEmptyPasswords no
ChallengeResponseAuthentication no
GSSAPICleanupCredentials no
UsePAM yes
X11Forwarding yes
# 是否禁止使用dns解析
UseDNS no
AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE
AcceptEnv XMODIFIERS
Subsystem sftp /usr/libexec/openssh/sftp-server