ssh

 

2022-04-19

ssh 是

客户端

Terminal window
1
# 如果用的是默认 22 端口,无需指定
2
# 如果本机用户名和登录用户名一致,也可省略
3
ssh [email protected] -p 64422

-p: 指定端口(默认 22)

使用 PEM 文件登录

  • 直接使用 PEM 文件登录:ssh -i <key.pem> <user>@<ip>
  • 添加 Key:ssh-add -k <key.pem> #免密

注:报错可能是权限原因,先修改权限试试:chmod 600 <key.pem>

共享 ssh key

  1. 拷贝 key 到另一台电脑
  2. ssh-add ~/.ssh/id_ed 25519 设为默认

跳板机

通过跳板机登录到目标服务器。

Terminal window

另一种方式是在 ~/.ssh/config 文件中添加:

Terminal window
1
Host jump_host
2
HostName 10.1.1.11
3
User root
4
5
Host target_host
6
HostName 10.1.1.12
7
User root
8
ProxyJump jump_host

通过第二种方式配置后,直接使用 ssh target_host

即可登录到目标服务器;同时也支持在 VSCode 中通过 Remote - SSH 插件直接跳转到目标服务器进行开发。

服务端

配置

  • 检查配置:sshd -t 出现 sshd -t 正常,但 /usr/sbin/sshd -t 异常的情况,sshd 默认位置为:/usr/local/sbin/sshd

连接权限

限制用户

修改 /etc/ssh/sshd_config 文件

  • DenyUsers: 拒绝

  • AllowUsers: 允许

  • UsePAM: 先过 PAM 检验

限制 IP

  • /etc/hosts.deny

  • /etc/hosts.allow