- ssh-agent
- 使用场景
- 管理秘钥,可以对不同服务器指定不同的秘钥
- 省略输入秘钥的密码
- 启动方式
- ssh-agent $SHELL
ssh-agent 只在当前终端中起作用 - eval `ssh-agent`
作为独立进程启动
- ssh-agent $SHELL
- 关闭方式
- 如果是当前终端启动的,可以这样关闭 ssh-agent -k
- 可以直接使用kill命令进行关闭
- 使用场景
- ssh-add
- 作用:向ssh-agent中添加秘钥
- 命令:
- 添加私钥:ssh-add ~/.ssh/id_rsa_new
- 查看已经添加的私钥: ssh-add -l
- 查看私钥对应的公钥: ssh-add -L
- 删除私钥: ssh-add -d ~/.ssh/id_rsa_new
- 清空所有私钥: ssh-add -D
- 锁定当前的私钥: ssh-add -x
- ssh-copy-id
- 作用:将公钥拷贝到服务器
- 命令:ssh-copy-id -i ~/.ssh/id_rsa_new name@host
- ssh
- 作用:登陆服务器
- 要点
- 当不指定秘钥文件的时候,默认会使用 ~/.ssh/id_rsa 进行验证
- 可以使用 -i 参数指定秘钥文件。 ssh -i ~/.ssh/id_rsa_new name@host
- ssh 配置文件config
- 作用:对不同的地址指定不同的私钥
- 常用字段
- Host alias
- HostName hostname
- User root
- Port 22
- IdentityFile ~/.ssh/identity
- AddKeysToAgent 是否自动将 key 加入到 ssh-agent,值可以为 no(default)/confirm/ask/yes。
- LocalForward 5433 localhost:5432 将远程的5432端口映射到本地的5433
- ProxyCommand 代理命令
Host gateway
HostName proxy.example.com
User root
Host db
HostName db.internal.example.com # 目标服务器地址
User root # 用户名
# IdentityFile ~/.ssh/id_ecdsa # 认证文件
ProxyCommand ssh gateway netcat -q 600 %h %p # 代理命令
- 详细字段说明参见 man ssh_config
- 文件位置
- $ ~/.ssh/config # 用户配置文件
- /etc/ssh/ssh_config # 系统配置文件
- 参考文档
- 了解ssh代理:ssh-agent http://www.zsythink.net/archives/2407
- SSH Config 那些你所知道和不知道的事 https://deepzz.com/post/how-to-setup-ssh-config.html
ssh相关知识
最新推荐文章于 2020-06-29 12:04:01 发布