ssh支持多种登录方式,比较常见的是通过用户名&密码和公私钥对两种方式。
通过用户名和密码登录的方式比较简单
spawn ssh -l root 192.168.1.11
等待提示输入密码即可。
生成公私钥对
我们使用ssh-keygen生成公私钥对,ssh-kengen是安装git时默认安装的组件,在windows上可以通过gitbash使用。
ssh-keygen -t rsa
ssh-keygen -t dsa
-t
选项用于标识不同的非对称加密类型,回车生成相关文件即可,如果没有特殊需求,默认回车即可。生成的公私钥对默认保存在~/.ssh/
目录。
id_dsa id_dsa.pub id_rsa id_rsa.pub
公钥是以pub结尾的文件
上载公钥到ssh服务器
如果使用RSA加密方式,就上传id_rsa.pub
,如果使用DSA则上传id_dsa.pub
,上传到一个临时的目录/usr/local/src/
。
然后将公钥文件中的内容导入authorized_keys
。
cat /usr/local/src/id_rsa.pub >> ~/.ssh/authorized_keys
ssh客户端通过私钥登录
linux
通过指定私钥路径进行登录
ssh -i ~/.ssh/id_rsa root 192.168.1.11
通过配置默认的私钥路径
vim /etc/ssh/ssh_config
#去掉前面的注释即可
IdentityFile ~/.ssh/id_rsa
windows
windows环境推荐使用xshll登录,学生版本可以免费使用,登录方式可以采用用户名和密码,以及Public Key等多种形式。