快速将一个公钥发送到指定服务器
1. 基本用法(默认公钥 ~/.ssh/id_rsa.pub)
1
| ssh-copy-id user@server_ip
|
示例:
1
| ssh-copy-id root@192.168.1.100
|
然后输入一次服务器密码,公钥就自动加到对方 ~/.ssh/authorized_keys 并设好权限。
2. 指定其他公钥(常用)
1
| ssh-copy-id -i ~/.ssh/your_key.pub user@server
|
3. 非默认端口(比如 2222)
1
| ssh-copy-id -p 2222 user@server
|
4. 没有 ssh-copy-id 时(Mac/Windows Git Bash 也能用)
1
| cat ~/.ssh/id_rsa.pub | ssh user@server "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
|
5. 生成密钥(如果还没有)
.ssh/config 设置服务器别名(免密直接连)
1. 编辑配置文件
2. 写入格式
1 2 3 4 5 6
| # 别名随便取,比如 myserver Host myserver HostName 服务器IP User 登录用户名 IdentityFile ~/.ssh/id_rsa # 你的私钥路径 Port 22 # 非默认端口改这里
|
示例
1 2 3 4
| Host ali HostName 192.168.1.100 User root IdentityFile ~/.ssh/id_rsa
|
3. 赋予权限(必做,不然报错)
1 2
| chmod 600 ~/.ssh/config chmod 700 ~/.ssh
|
4. 直接快捷登录
多台服务器直接往下加
1 2 3 4 5 6 7 8
| Host s1 HostName 1.1.1.1 User root
Host s2 HostName 2.2.2.2 User ubuntu Port 2222
|