Notion Tip: Use this page to describe your approach to interviewing product candidates.
生成密钥
ssh-keygen -f ~/.ssh/your_key_name
密钥存放在
~/.ssh
目录下your_key_name
:密钥对的私钥,通常放在客户端。
your_key_name.pub
:密钥对中的公钥,通常放在服务端。
- 将生成的公钥安装到当前操作系统
cd ~/.ssh/
cat your_key_name.pub >> authorized_keys
重启 ssh 服务
service sshd restart
本地使用密钥登录
ssh 命令登录
如果没有使用默认的密钥名称(id_rsa),则在连接主机时需要加上
-i
参数,指定对应密钥的名称。ssh -p port -i ~/.ssh/your_key user@<ip address>
配置ssh config (简化登录命令)
上面的命令虽然可以实现免密登录,但是命令太长了,就算是复制粘贴也有可能会出错。
那有没有什么好的办法,解决这个问题呢?
当然是有的啦。
在
$HOME/.ssh
目录下,创建一个名为config
的文件。vim $HOME/.ssh/conifg
加入以下配置:
Host alias
User user
HostName ip
Port port
IdentityFile ~/.ssh/your_key
ServerAliveInterval 360
参数说明:
- Host:可以理解成别名,配置完成之后,最后就通过
ssh alias
进行登录。
- User:远程主机的用户名称
- HostName:远程主机的地址
- Port:端口号
- IdentityFile:私钥文件的路径
- ServerAliveInterval:保持客户端与服务端会话在短时间内不会断开。
禁用密码登录
vim /etc/ssh/sshd_config
# 将yes 改为 no
PasswordAuthentication yes
然后重启 sshd 服务。
service sshd restart