远程登录命令
常用命令:
1
ssh [user]@[ip] -p [port]
- port 默认为 22
远程服务器一般也默认打开 22 端口,若需要转接端口,可以在服务端执行下面的命令
1
ssh -fNL 0.0.0.0:[new_port]:localhost:22 localhost
- 执行上面的命令后,连接远程服务器可以使用
1
ssh [user]@[ip] -p [new_port]
- 执行上面的命令后,连接远程服务器可以使用
远程登录快捷方式配置
生成 SSH 秘钥并发送到远程:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18# 本地终端执行
# # 本地生成 SSH 密钥,若已经有秘钥,不需要重复生成
# # # 公钥:~/.ssh/id_ed25519.pub
# # # 私钥:~/.ssh/id_ed25519
ssh-keygen -t ed25519 -C "user_name@gmail.com"
# 可选:生成普通 RSA 秘钥也可以(远程服务器太旧的可能不支持 Ed25519 方式)
# # 本地生成 RSA 秘钥指令
# ssh-keygen -t rsa -b 4096 -C "user_name@gmail.com"
# # 公钥:~/.ssh/id_rsa.pub
# # 私钥:~/.ssh/id_rsa
# 注:当本地同时存在 ed25519 和 RSA 4096 密钥时,SSH 客户端在自动选择时会优先使用 Ed25519
# 本地终端执行命令
# # 将本地生成的公钥发送到远程服务器,让服务器信任本地电脑,可能需要根据需要输入密码
ssh-copy-id ~/.ssh/id_ed25519.pub [user]@[ip]
# # 执行结果:公钥会被自动 追加 到远程目标远程服务器上的存储路径:`~/.ssh/authorized_keys` 中- 注:等价操作,也可以手动复制粘贴到远程服务器的
~/.ssh/authorized_keys中 - 至此,远程已经不需要输入密码了,可以使用下面的命令快速登录(接下来会进一步优化)
1
ssh [user]@[ip] -p [new_port]
- 注:等价操作,也可以手动复制粘贴到远程服务器的
在本地重命名当前服务器并
- 打开文件
~/.ssh/config1
2
3
4Host diy_user
HostName [ip] # 远程IP
User [user] # 用户名
Port [port] # 端口
- 打开文件
使用新名字快速登录
1
ssh diy_user