昨天在百度云买了一台云服务器,因为每次远程的时候都要输入命令,实在是不想每次都输 ip、密码。看了网上的教程,参差不齐,写一下自己在配置过程中遇到的坑
ssh username@ip
- 生成 ssh 密钥文件
ssh-keygen
Mac:
~/.ssh/id_rsa
~/.ssh/id_rsa.pub
Windows:
C:/Users/{username}/.ssh/id_rsa
C:/Users/{username}/.ssh/id_rsa.pub
- 将 id_rsa.pub 的内容复制到云服务器
# 方法一
scp ~/.ssh/id_rsa.pub username@ip:~/.ssh/authorized_keys# 方法二(Windows 上不支持)
ssh-copy-id -i ~/.ssh/id_rsa.pub username@ip
- 测试
ssh -i ~/.ssh/id_rsa username@ip
如果不需要输入密码,那我们就配置 ok 啦。
这里网上很多教程都说,只要输入命令
ssh username@ip
就可以无密码登录了,但我试了一直不行,就是得选择一个密钥文件来登录
- 配置别名登录
vim ~/.ssh/config
Host alias
HostName ip/domain
User username
IdentityFile ~/.ssh/id_rsa
网上的教程中先是把 IdentityFile 写成 IdentifyFile
再是把私钥文件写成公钥文件,服了
- 测试
ssh alias
【设置 SSH 别名登录】即可登录成功
推荐阅读
- SSH连接服务器后执行多条命令
- 树莓派|树莓派的常用系统配置
- java|JAVA-MYSQL-SSH酒店民宿客房管理系统
- linux|使用putty设置基于 SSH 密钥的身份验证
- 综合渗透测试|网络安全——使用SSH私钥泄露提权获取主机权限
- linux|【教程】使用腾讯云轻量应用服务器搭建二次元聊天系统,保姆级超详细教程!
- 如何在Ubuntu Server中为Gitlab私有存储库创建和配置部署SSH密钥
- 如何在AWS Ubuntu 16.04实例上以root身份允许SSH和SFTP访问
- 如何在WinForms中使用带有C#的SSH.NET(同步和异步)访问SFTP服务器