メインコンテンツへスキップ
  1. ノート/
  2. ツールとデプロイ/

SSH 簡単設定

·833 文字·2 分· loading · loading · · ·
ICE345
著者
ICE345
CS Student | System | Linux | OCaml
この記事は中国語版をもとにした日本語版メモです。コマンド、コード、数式、画像リンクは原文の意味を壊さないように保持し、説明文と見出しを日本語向けに整理しています。

一、在客户端生成 SSH 密钥对
#

在你的ローカル客户端(たとえば你的笔记本或开发机器)上:

ssh-keygen -t rsa -b 4096 -C "[email protected]"

説明:

  • -t rsa:生成 RSA 类型的密钥;
  • -b 4096:密钥长度,建议至少 4096;
  • -C:注释,通常填邮箱方便识别。

システム会提示你保存ファイル位置,默认是:

~/.ssh/id_rsa  (私钥)
~/.ssh/id_rsa.pub  (公钥)

也できます自定义ファイル名,方便区分不同用途。


二、将公钥复制到サーバー
#

假设你的サーバー IP 是 192.168.1.108,用户名是 ice345

方法一(推荐)使用 ssh-copy-id 自动复制:
#

この通常都会无法成功 copy 到サーバー上
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]

システム会提示输入サーバー密码,输入一次即可自动把公钥复制到サーバー的 ~/.ssh/authorized_keys 里,并设置好权限。

方法二:手动复制
#

もし没有 ssh-copy-id

  1. 確認公钥内容:
cat ~/.ssh/id_rsa.pub
  1. 登录サーバー(使用密码):
  1. 在サーバー上作成 ~/.ssh/ ディレクトリ(もし还没有):
mkdir -p ~/.ssh
chmod 700 ~/.ssh
  1. 编辑 authorized_keys ファイル:
nano ~/.ssh/authorized_keys

将你刚才 cat 出来的公钥粘贴进去,保存。

  1. 変更权限:
chmod 600 ~/.ssh/authorized_keys

三、测试免密登录
#

回到客户端,执行:

もし一切顺利,不必要输入密码就能登录。


四、サーバー設定 SSH 服务
#

在サーバー上编辑 sshd 設定ファイル:

sudo nano /etc/ssh/sshd_config

重点設定项:

# 允许公钥认证(默认通常是yes)
PubkeyAuthentication yes

# 允许密码登录(如不想允许可以关闭)
PasswordAuthentication yes  # 或 no

# 允许使用 authorized_keys 文件
AuthorizedKeysFile .ssh/authorized_keys

# 禁止 root 直接登录(安全建议)
PermitRootLogin no

変更后,重启 ssh 服务:

sudo systemctl restart sshd

五、额外注意事项
#

  • もし你希望完全关闭密码登录,保证只允许密钥登录,できます把 PasswordAuthentication 改为 no
  • 确认ディレクトリ权限正确:
ディレクトリ/ファイル权限
~/.ssh/700
~/.ssh/authorized_keys600
  • 防火墙确认开放 22 端口。

六、完整快速版流程まとめ
#

# 1. 客户端生成密钥
ssh-keygen -t rsa -b 4096

# 2. 复制公钥到服务器
ssh-copy-id -i ~/.ssh/id_rsa.pub user@server_ip

# 3. 测试免密登录
ssh user@server_ip

# 4. 修改服务器 /etc/ssh/sshd_config(可选)
sudo nano /etc/ssh/sshd_config
# 确认或修改:
PubkeyAuthentication yes
PasswordAuthentication yes (或 no)

# 5. 重启 SSH 服务
sudo systemctl restart sshd