ubuntu ssh 免密码登录
2017-08-19 21:41
323 查看
1 ssh 是什么?
ssh 是一种 加密协议,ssh 是两个加密的密码,一个是公钥一个是私钥,公钥加密的信息只有是要才能解密。ssh协议可用于服务之间的通信。例如:登录验证,git的授权等等
2 ssh 登录服务器(Linux,ubuntu)
1) 使用 ssh-keygen 可以生成秘钥 ssh 加密算法有两种,一下的是生成密钥的方式:
ssh-keygen -t rsa
ssh-keygen -t dsa
2) A电脑:使用命令在A电脑上生成密钥,会在目录(~/.ssh/)下生成两个文件,一个存放的是公钥(id_rsa.pub),一个是私钥(id_rsa),公钥是给别人用的,私钥是自己的
3) B电脑:使用ssh 连接电脑B
ssh user@remote_host
提示输入密码
5) 在B电脑新建文件~/{user}/.ssh/authorized_keys文件,并把A电脑的id_rsa.pub拷贝到该文件中,也可以使用命令在A电脑中操作:
cat ~/.ssh/id_rsa.pub | ssh remoteuserName@remote_host "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
6) 在B电脑中修改配置文件/etc/ssh/sshd_conf ,把PubkeyAuthentication yes ,RSAAuthentication 前面的#号去掉 启用ssh 公钥验证,
7) 简单的ssh配置就完了,然后重启ssh 服务 sudo service sshd restart,
在A电脑中使用 ssh remoteUser@remote_host 就可以直接登录了,不用输密码了。
有时候我们使用ssh,长时间的不操作远程电脑当前的连接就会断掉,这个时候还要再次连接,这对于开发人来说很是不方便。这个时候就要修改配置了
在远程电脑中修改 /etc/ssh/sshd_conf:
ClientAliveInterval 60 //请求的时间间隔
ClientAliveCountMax 3 //服务器请求的次数
ClientAliveInterval 的默认值是0表示不向客户端发送请求,设置ClientAliveInterval 60是每隔一分钟向客服端发送送一次消息,这样就保证了长连接。ClientAliveCountMax 3代表
服务器发送请求客户端没有响应的最大次数,如果没有响应的次数达到这个值就会自动断开。一般的只要不关闭窗口,客户端是响应的。
3 ssh 别名登录
有时候每次登录远程服务器都要输入用户名和host,当管理多台的时候将会很麻烦,这个时候我们需要管理我们的会话,配置别名。在一台电脑上使用不同的密钥登录不同的服务器
通过配置~/.ssh/config 文件可以方便的的登录,如果没有该文件就自己创建一个。配置信息入下:
配置完成之后就可是使用别名免密码登录了。
ssh 别名
以上是学习的心得,方便以后查询。
ssh 是一种 加密协议,ssh 是两个加密的密码,一个是公钥一个是私钥,公钥加密的信息只有是要才能解密。ssh协议可用于服务之间的通信。例如:登录验证,git的授权等等
2 ssh 登录服务器(Linux,ubuntu)
1) 使用 ssh-keygen 可以生成秘钥 ssh 加密算法有两种,一下的是生成密钥的方式:
ssh-keygen -t rsa
ssh-keygen -t dsa
2) A电脑:使用命令在A电脑上生成密钥,会在目录(~/.ssh/)下生成两个文件,一个存放的是公钥(id_rsa.pub),一个是私钥(id_rsa),公钥是给别人用的,私钥是自己的
3) B电脑:使用ssh 连接电脑B
ssh user@remote_host
提示输入密码
5) 在B电脑新建文件~/{user}/.ssh/authorized_keys文件,并把A电脑的id_rsa.pub拷贝到该文件中,也可以使用命令在A电脑中操作:
cat ~/.ssh/id_rsa.pub | ssh remoteuserName@remote_host "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
6) 在B电脑中修改配置文件/etc/ssh/sshd_conf ,把PubkeyAuthentication yes ,RSAAuthentication 前面的#号去掉 启用ssh 公钥验证,
7) 简单的ssh配置就完了,然后重启ssh 服务 sudo service sshd restart,
在A电脑中使用 ssh remoteUser@remote_host 就可以直接登录了,不用输密码了。
有时候我们使用ssh,长时间的不操作远程电脑当前的连接就会断掉,这个时候还要再次连接,这对于开发人来说很是不方便。这个时候就要修改配置了
在远程电脑中修改 /etc/ssh/sshd_conf:
ClientAliveInterval 60 //请求的时间间隔
ClientAliveCountMax 3 //服务器请求的次数
ClientAliveInterval 的默认值是0表示不向客户端发送请求,设置ClientAliveInterval 60是每隔一分钟向客服端发送送一次消息,这样就保证了长连接。ClientAliveCountMax 3代表
服务器发送请求客户端没有响应的最大次数,如果没有响应的次数达到这个值就会自动断开。一般的只要不关闭窗口,客户端是响应的。
3 ssh 别名登录
有时候每次登录远程服务器都要输入用户名和host,当管理多台的时候将会很麻烦,这个时候我们需要管理我们的会话,配置别名。在一台电脑上使用不同的密钥登录不同的服务器
通过配置~/.ssh/config 文件可以方便的的登录,如果没有该文件就自己创建一个。配置信息入下:
Host 别名 HostName 主机名 Port 端口 User 用户名 IdentityFile 本地密钥文件的路径(可选默认是~/.ssh/id_rsa.pub)
配置完成之后就可是使用别名免密码登录了。
ssh 别名
以上是学习的心得,方便以后查询。
相关文章推荐
- ubuntu ssh 免密码登录
- ubuntu ssh 免密码登录
- ubuntu ssh 证书登录(不输入密码)
- ubuntu ssh 免密码登录
- ubuntu ssh 免密码登录
- ubuntu ssh 免密码登录
- ubuntu ssh 免密码登录
- ubuntu ssh 免密码登录
- ubuntu ssh 免密码登录
- ubuntu ssh 免密码登录
- Java调用K3Cloud的密码加密算法实现登录密码检验
- 通过传用户和密码实现最简单的单点登录
- 你知道没有密码的账户如何登录吗?
- pem方式登录的CentOS系统修改为密码登录方式
- ssh免密码登录
- Android 记住密码和自动登录界面的实现(SharedPreferences 的用法)
- hadoop安装ssh无法无密码登录
- Android实现自动登录和记住密码
- 忘记Win2000登录密码的解决办法
- hadoop设置ssh免密码登录