SSH的生成与配置

记录SSH的用法

SSH的生成与配置

生成

1.检查Linux中是否有ssh

1
2
3
4
5
6
7
8
9
10
11
#检查是否安装
ssh -V

#检查是否正在运行
sudo systemctl status sshd

#启动ssh
sudo systemctl start sshd

#设置为开机自启
sudo systemctl enable sshd

2.生成密钥对

1
2
3
4
5
#该算法更安全高效
ssh-keygen -t ed25519

#若不支持et25519
ssh-keygen -t rsa -b 4096

之后一直按回车即可,生成的公钥和私钥会默认保存至~/.ssh目录下

配置

将本机公钥部署到服务器,实现无密码登录

法一:ssh-copy-id

1
ssh-copy-id -i ~/.ssh/id_ed25519.pub 用户名@服务器IP
  • 无参数 i 会默认尝试复制当前用户目录下的默认公钥文件(通常是 ~/.ssh/id_rsa.pub,如果存在的话)

**法二:**手动上传

1
2
# 将本地公钥内容传到服务器的authorized_keys
cat ~/.ssh/id_ed25519.pub | ssh 用户名@服务器IP "cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

**法三:**使用scp

1
scp ~/.ssh/本地公钥文件名 远程用户名@远程服务器IP:~/目标路径

之后再把传输过去的公钥写入authorized_keys文件中

常见问题解决

  1. 权限错误:若提示 “Permission denied”,检查服务器~/.sshauthorized_keys的权限是否为 700 和 600。

  2. 端口问题:服务器 SSH 端口非默认时,连接需指定端口:ssh -p 2222 用户名@IP,或在config中配置Port

  3. 密钥未生效:重启服务器 SSH 服务:sudo systemctl restart sshd(Linux)。