沙滩星空的博客沙滩星空的博客

SSH密钥登录

密钥对默认RSA2048位加密。
服务端保存公钥,客户端私钥登录。

vim /etc/ssh/sshd_config
...
#PubkeyAuthentication   yes   #default
#AuthorizedKeysFile     .ssh/authorized_keys  #default
PasswordAuthentication  no    #warning 禁用密码登录,慎重!最后一步。
...

1.制作密钥对

ssh-keygen -C forLiLei

2.安装公钥

cd ~/.ssh
cat id_rsa.pub >> authorized_keys

3.修改公钥权限400 or 600

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

4.修改配置文件(不一定需要):

vim /etc/ssh/sshd_config
RSAAuthentication        yes
PubkeyAuthentication     yes #default
PermitRootLogin          yes
ChallengeResponseAuthentication no

5.重启ssh服务

service sshd restart 
or
service sshd reload


客户端:

windows下使用Putty密钥登录:
1.转化私钥格式
PuttyGen---Actions---Load---save private key
2.导入私钥,登录.
Puttty---Connection---SSH---Auth---PrivatekeyFile

Linux私钥登录:
1.添加登录用到RSA私钥

vim ~/.ssh/priFileName
vim ~/.ssh/priFileNameA

2.编辑ssh私钥登录配置文件

vim ~/.ssh/config
Host    aliasName
  HostName  121.33.56.99
  Port      22
  User      root
  IdentityFile ~/.ssh/priFileName
  ServerAliveInterval  60

Host    aliasNameA
  HostName  121.33.56.88
  Port      22
  User      root
  IdentityFile ~/.ssh/priFileNameA
  ServerAliveInterval  60

chmod 400 ~/.ssh/config
  • HostName: 主机名. 可填IP或域名
  • Port: SSH服务端口
  • User: SSH用户名
  • IdentityFile: 客户端用户免密登录的证书私钥
  • ServerAliveInterval: 单位时间内(秒)不断发送脉冲信号,维持客户端登录状态。
  • ForwardAgent: 支持免密码连接三方服务器.(例: vscode ssh-remote 支持打开远程服务器的文件项目)

3.更改RSA私钥权限(400 or 600)

chmod 400 ~/.ssh/priFileName
chmod 400 ~/.ssh/priFileNameA

使用:

ssh aliasName
scp /home/fileName aliasName:/home/


SSH连接超时问题:

  1. 服务器存在防火墙,会关闭超时空闲连接,或设置了关闭超时空闲连接。
  2. 客服端和服务器之间存在路由器,路由器也可能带有防火墙,会关闭超时空闲连接。
  3. 客服端存在防火墙,会关闭超时空闲连接

一. 服务器端配置

sudo vi /etc/ssh/sshd_config

# Server 每隔 60 秒发送一次请求给 Client,然后 Client响应,从而保持连接
ClientAliveInterval 60
# Server发出请求后,客户端没有响应得次数达到 10,就自动断开连接,正常情况下,Client不会不响应
ClientAliveCountMax 10

sudo restart ssh

二.修改客户端配置

sudo vi /etc/ssh/ssh_config  # 或 ~/.ssh/config

TCPKeepAlive=yes
# Client每隔 60 秒发送一次请求给 Server,然后 Server响应,从而保持连接
ServerAliveInterval 60
# Client发出请求后,服务器端没有响应得次数达到3,就自动断开连接,正常情况下,Server 不会不响应
ServerAliveCountMax 3

三.修改连接工具配置

secureCRT:会话选项 - 终端 - 反空闲 - 发送NO-OP每xxx秒,设置一个非0值。
putty:Connection - Seconds between keepalive(0 to turn off),设置一个非0值。
iTerm2:profiles - sessions - When idle - send ASCII code.
XShell:session properties - connection - Keep Alive - Send keep alive message while this session connected. Interval [xxx] sec.

SSH 保持连接 https://blog.csdn.net/YuZhuQue/article/details/86607832
未经允许不得转载:沙滩星空的博客 » SSH密钥登录

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址