更改 root 密码
将
password
更改为所需的密码
-
修改密码
Terminal window echo root:`password` |sudo chpasswd root -
开启 root 登录
Terminal window sudo sed -i 's/^#\?PermitRootLogin.*/PermitRootLogin yes/g' /etc/ssh/sshd_config; -
开启密码登录
Terminal window sudo sed -i 's/^#\?PasswordAuthentication.*/PasswordAuthentication yes/g' /etc/ssh/sshd_config; -
重启 ssh 服务
Terminal window systemctl restart sshd.service
配置使用密钥登录
-
生成密钥和公钥,请执行以下命令:
Terminal window ssh-keygen -t rsa -b 4096连续执行回车即可生成密钥和公钥对。如果需要设置密码,请在密码提示处输入密码。
-
安装 ssh 公钥
Terminal window cp "$HOME/.ssh/id_rsa.pub" "$HOME/.ssh/authorized_keys" -
设置公钥权限
Terminal window chmod 600 "$HOME/.ssh/authorized_keys"chmod 700 "$HOME/.ssh" -
ssh 配置文件
-
开启密钥登录
Terminal window sudo sed -i 's/^#\?PubkeyAuthentication.*/PubkeyAuthentication yes/g' /etc/ssh/sshd_config -
关闭密码登录
Terminal window sudo sed -i 's/^#\?PasswordAuthentication.*/PasswordAuthentication no/g' /etc/ssh/sshd_config
-
-
重启 sshd 服务
Terminal window systemctl restart sshd.service
ssh 登录后闲置时间过长而断开连接
echo "ServerAliveInterval 60" >> "$HOME/.ssh/config"
ssh 客户端会每隔一段 60s,自动与 ssh 服务器通信一次
存放 ssh 密钥密码
启动ssh-agent
Linux
ssh-agent bash
Windows
- 打开服务
- 将
OpenSSH Authentication Agent
服务启动 - 设置自启动
添加默认的私钥
ssh-add
添加私钥时,会要求输入密码。以后,在这个对话里面再使用密钥时,就不需要输入私钥的密码了,因为私钥已经加载到内存里面了。
使用命令将本地公钥发送给服务端
ssh-copy-id username@hostname