ssh 和 openssl 命令

224 阅读2分钟

ssh 相关命令

# 开启ssh 代理
ssh-agent bash


# 产生1024位的密钥对
ssh-keygen -t rsa -b 1024

# 指定密钥对文件名
ssh-keygen -t rsa -b 1024 -f aliyun-rsa

# 私钥加密
ssh-keygen -t rsa -b 1024 -p "xxx"

# 产生注释
ssh-keygen -t rsa -b 1024 -C "xxx@aliyun.com"


# 拷贝公钥到服务器(可以手动复制到~/.ssh/authorized_keys)
ssh-copy-id -i ~/.ssh/aliyun-rsa.pub root@aliyun

# 添加私钥
ssh-add ~/.ssh/aliyun-rsa

# 删除私钥
ssh-add -d ~/.ssh/aliyun-rsa

# 查看已加入的私钥
ssh-add -l

# 配置config
# aliyun 云主机
Host x.x.x.x
HostName x.x.x.x
PreferredAuthentications publickey
IdentityFile C:/Users/cywen/.ssh/aliyun-rsa


# 测试ssh配置
ssh -T root@aliyun

# 登录服务器
ssh root@aliyun

openssl 命令

# openssl生成私钥
openssl genrsa -out server.key 1024

# 根据私钥生成CSR
openssl req -new -key server.key -out server.csr

# 上传给SSL服务商,对CSR签名,得到证书
上传即可

# 自签名
openssl x509 -req -in server.csr -out server.crt -signkey server.key -days 3650
  1. 私钥

    1. 生成私钥
    # 默认生成
    openssl genrsa -out key.pem 1024
    
    # 指定密码
    openssl genrsa -sha256 key.pem 4096
    
    2. 查看私钥 pem 或者 der 格式
    openssl rsa -in key.pem \ openssl rsa -in key.pem -noout -text
    openssl rsa -inform der -in key.pem \ openssl rsa -inform der -in key.der -noout -text
    
  2. CSR

    1. 生成 CSR
    # 默认生成
    openssl req -subj '/CN=client' -new -key key.pem -out client.csr
    
    # 交互生成
    openssl req -new -key key.pem -out client.csr
    
    2. 查看 CSR
    openssl req -in client.csr -noout -text
    
  3. 证书

    1. 生成证书
    # 默认生成
    openssl x509 -req -days 365 -sha256 -in client.csr -CA ca.pem -CAkey ca-key.pem \
    -CAcreateserial -out cert.pem -extfile extfile-client.cnf
    2. 查看证书 pem 或者 der 格式
    openssl x509 -in cert.pem -noout -text
    openssl x509 -inform der -in cert.der -noout -text
    
    3. 转换成 PKCS12 证书
    openssl pkcs12 -export -in [公钥] -inkey[私钥] -out [证书].p12
    
  4. 公钥

    1. 生成公钥
    openssl rsa -in key.pem -pubout -out pub.pem
    
    2. 查看公钥
    openssl rsa -in pub.pem -noout -text
    
    3. 查看 der 格式
    openssl rsa -inform der -in pub.der -noout -text
    

参考 

www.ssh.com/ssh/keygen/