SSH is slow to make a connection
1. su
2. vi /etc/ssh/sshd_config
3. add UseDNS no
4. /etc/init.d/sshd restart
http://www.cyberciti.biz/faq/howto-restart-ssh/
http://superuser.com/questions/359344/ssh-is-slow-to-make-a-connection
https://blog.csdn.net/qq_37467907/article/details/93618122
使用strace命令來跟蹤慢的問題
- 檢查服務器SSH配置文件(sshd_config)的UseDNS配置項是否開啟
vi /etc/ssh/sshd_config
- 該配置文件,默認會有一個注釋的(#UseDNS yes)配置項,但該項的缺省值是yes,所以需要顯式地設置為no
-
#UseDNS yes
-
UseDNS no
注:UseDNS配置項主要用於安全加固,默認為yes開啟時,連接過程慢是因為客戶端(Client)通過SSH協議連接服務端(Server)時,服務端會進行4次的DNS反向解析請求(每次請求失敗間隔5s),即服務端會根據客戶端的IP進行DNS反向解析查詢出客戶端的主機名,然后再根據查詢出的主機名進行DNS正向解析,最后驗證解析出來的IP與原始客戶端IP是否一致,已達到防止客戶端欺騙的目的。如果我們的客戶端IP在DNS服務器中沒有配置PTR反向解析記錄,那么就會導致請求無響應,直至請求超時才會進行下一步的SSH連接。
- 重啟ssh服務
service sshd restart
vscode sftp插件問題:
https://blog.csdn.net/d200746/article/details/87626932
https://github.com/liximomo/vscode-sftp/wiki/Common-Config
更改connectTimeout的值即可完成最大超時時間的配置,改成300,
默認值是:
connectTimeout
number - the maximum connection time
Default
10000
https://blog.csdn.net/iteye_5495/article/details/82676449
SFTP點上傳有時候沒有反應,我們觀察下正常的上傳日志:
run command 'Upload File'
[03-09 00:59:15] [warn] ENOENT: no such file or directory, open 'C:\Users\Admin\.ssh\config' load C:\Users\Admin\.ssh\config failed
[03-09 00:59:15] [trace] handle upload file for e:xxx.js
[03-09 00:59:15] [debug] Local ident: 'SSH-2.0-ssh2js0.4.5'
[03-09 00:59:15] [debug] Client: Trying 7.13.18.230 on port 19800 ...
[03-09 00:59:15] [debug] Client: Connected
[03-09 00:59:15] [debug] Remote ident: 'SSH-2.0-OpenSSH_7.4'
[03-09 00:59:15] [debug] Outgoing: Writing KEXINIT
[03-09 00:59:15] [debug] DEBUG: Comparing KEXINITs ...
[03-09 00:59:15] [debug] (local) KEX algorithms: ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1
[03-09 00:59:15] [debug] (remote) KEX algorithms: curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha256,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
[03-09 00:59:15] [debug] KEX algorithm: ecdh-sha2-nistp256
[03-09 00:59:15] [debug] (local) Host key formats: ssh-ed25519,ssh-rsa,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521
[03-09 00:59:15] [debug] (remote) Host key formats: ssh-rsa,rsa-sha2-512,rsa-sha2-256,ecdsa-sha2-nistp256,ssh-ed25519
[03-09 00:59:15] [debug] Host key format: ssh-ed25519
[03-09 00:59:15] [debug] (local) Client->Server ciphers: aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm,aes128-gcm@openssh.com,aes256-gcm,aes256-gcm@openssh.com
[03-09 00:59:15] [debug] (remote) Client->Server ciphers: chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com,aes128-cbc,aes192-cbc,aes256-cbc,blowfish-cbc,cast128-cbc,3des-cbc
[03-09 00:59:15] [debug] Client->Server Cipher: aes128-ctr
[03-09 00:59:15] [debug] (local) Server->Client ciphers: aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm,aes128-gcm@openssh.com,aes256-gcm,aes256-gcm@openssh.com
[03-09 00:59:15] [debug] (remote) Server->Client ciphers: chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com,aes128-cbc,aes192-cbc,aes256-cbc,blowfish-cbc,cast128-cbc,3des-cbc
[03-09 00:59:15] [debug] Server->Client Cipher: aes128-ctr
[03-09 00:59:15] [debug] (local) Client->Server HMAC algorithms: hmac-sha2-256,hmac-sha2-512,hmac-sha1
[03-09 00:59:15] [debug] (remote) Client->Server HMAC algorithms: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1
[03-09 00:59:15] [debug] Client->Server HMAC algorithm: hmac-sha2-256
[03-09 00:59:15] [debug] (local) Server->Client HMAC algorithms: hmac-sha2-256,hmac-sha2-512,hmac-sha1
[03-09 00:59:15] [debug] (remote) Server->Client HMAC algorithms: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1
[03-09 00:59:15] [debug] Server->Client HMAC algorithm: hmac-sha2-256
[03-09 00:59:15] [debug] (local) Client->Server compression algorithms: none,zlib@openssh.com,zlib
[03-09 00:59:15] [debug] (remote) Client->Server compression algorithms: none,zlib@openssh.com
[03-09 00:59:15] [debug] Client->Server compression algorithm: none
[03-09 00:59:15] [debug] (local) Server->Client compression algorithms: none,zlib@openssh.com,zlib
[03-09 00:59:15] [debug] (remote) Server->Client compression algorithms: none,zlib@openssh.com
[03-09 00:59:15] [debug] Server->Client compression algorithm: none
[03-09 00:59:15] [debug] Outgoing: Writing KEXECDH_INIT
[03-09 00:59:16] [debug] DEBUG: Checking host key format
[03-09 00:59:16] [debug] DEBUG: Checking signature format
[03-09 00:59:16] [debug] DEBUG: Verifying host fingerprint
[03-09 00:59:16] [debug] DEBUG: Host accepted by default (no verification)
[03-09 00:59:16] [debug] DEBUG: Verifying signature
[03-09 00:59:16] [debug] Outgoing: Writing NEWKEYS
[03-09 00:59:16] [debug] Outgoing: Writing SERVICE_REQUEST (ssh-userauth)
[03-09 00:59:16] [debug] Outgoing: Writing USERAUTH_REQUEST (none)
[03-09 00:59:16] [debug] Client: none auth failed
[03-09 00:59:16] [debug] Outgoing: Writing USERAUTH_REQUEST (password)
[03-09 00:59:16] [debug] Outgoing: Writing CHANNEL_OPEN (0, session)
[03-09 00:59:16] [debug] Outgoing: Writing CHANNEL_REQUEST (0, subsystem: sftp)
[03-09 00:59:16] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-09 00:59:16] [debug] Outgoing: Writing MKDIR
[03-09 00:59:16] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-09 00:59:16] [debug] Outgoing: Writing LSTAT
[03-09 00:59:16] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-09 00:59:16] [debug] Outgoing: Writing OPEN
[03-09 00:59:16] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-09 00:59:16] [debug] Outgoing: Writing FSTAT
[03-09 00:59:16] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-09 00:59:16] [debug] Outgoing: Writing FSETSTAT
[03-09 00:59:16] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-09 00:59:16] [debug] Outgoing: Writing WRITE
[03-09 00:59:16] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-09 00:59:16] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-09 00:59:16] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-09 00:59:16] [debug] Outgoing: Writing WRITE
[03-09 00:59:16] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-09 00:59:16] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-09 00:59:16] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-09 00:59:16] [debug] Outgoing: Writing WRITE
[03-09 00:59:16] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-09 00:59:16] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-09 00:59:16] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-09 00:59:16] [debug] Outgoing: Writing WRITE
[03-09 00:59:16] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-09 00:59:16] [debug] Outgoing: Writing FSETSTAT
[03-09 00:59:16] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-09 00:59:16] [debug] Outgoing: Writing CLOSE
[03-09 00:59:16] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-09 00:59:16] [info] local ➞ remote e:\xxx.js
[03-09 00:59:46] [debug] Outgoing: Writing ping (GLOBAL_REQUEST: keepalive@openssh.com)
有時候點xx.js上傳幾秒沒有反應,這時候又點擊上傳,有反應了:
03-09 01:05:01] [trace] run command 'Upload File'
[03-09 01:05:01] [trace] run command 'Upload File'
[03-09 01:05:01] [trace] handle upload file fore:\xx.js
[03-09 01:05:01] [trace] handle upload file fore:\xx.js
[03-09 01:05:01] [debug] Outgoing: Writing MKDIR
[03-09 01:05:01] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-09 01:05:01] [debug] Outgoing: Writing MKDIR
[03-09 01:05:01] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-09 01:05:01] [debug] Outgoing: Writing LSTAT
[03-09 01:05:01] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-09 01:05:01] [debug] Outgoing: Writing LSTAT
[03-09 01:05:01] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-09 01:05:01] [debug] Outgoing: Writing OPEN
[03-09 01:05:01] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-09 01:05:01] [debug] Outgoing: Writing OPEN
[03-09 01:05:01] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-09 01:05:01] [debug] Outgoing: Writing FSTAT
[03-09 01:05:01] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-09 01:05:01] [debug] Outgoing: Writing FSTAT
[03-09 01:05:01] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-09 01:05:01] [debug] Outgoing: Writing FSETSTAT
[03-09 01:05:01] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-09 01:05:01] [debug] Outgoing: Writing FSETSTAT
[03-09 01:05:01] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-09 01:05:01] [debug] Outgoing: Writing WRITE
[03-09 01:05:01] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-09 01:05:01] [debug] Outgoing: Writing WRITE
[03-09 01:05:01] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-09 01:05:01] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-09 01:05:01] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-09 01:05:01] [debug] Outgoing: Writing WRITE
[03-09 01:05:01] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-09 01:05:01] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-09 01:05:01] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-09 01:05:01] [debug] Outgoing: Writing WRITE
[03-09 01:05:01] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-09 01:05:01] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-09 01:05:01] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-09 01:05:01] [debug] Outgoing: Writing WRITE
[03-09 01:05:01] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-09 01:05:01] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-09 01:05:01] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-09 01:05:01] [debug] Outgoing: Writing WRITE
[03-09 01:05:01] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-09 01:05:01] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-09 01:05:01] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-09 01:05:01] [debug] Outgoing: Writing WRITE
[03-09 01:05:01] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-09 01:05:01] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-09 01:05:01] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-09 01:05:01] [debug] Outgoing: Writing WRITE
[03-09 01:05:01] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-09 01:05:01] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-09 01:05:01] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-09 01:05:01] [debug] Outgoing: Writing WRITE
[03-09 01:05:01] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-09 01:05:01] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-09 01:05:01] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-09 01:05:01] [debug] Outgoing: Writing WRITE
[03-09 01:05:01] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-09 01:05:01] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-09 01:05:02] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-09 01:05:02] [debug] Outgoing: Writing WRITE
[03-09 01:05:02] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-09 01:05:02] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-09 01:05:02] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-09 01:05:02] [debug] Outgoing: Writing WRITE
[03-09 01:05:02] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-09 01:05:02] [debug] Outgoing: Writing FSETSTAT
[03-09 01:05:02] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-09 01:05:02] [debug] Outgoing: Writing WRITE
[03-09 01:05:02] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-09 01:05:02] [debug] Outgoing: Writing CLOSE
[03-09 01:05:02] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-09 01:05:02] [debug] Outgoing: Writing FSETSTAT
[03-09 01:05:02] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-09 01:05:02] [info] local ➞ remotee:\xx.js
[03-09 01:05:03] [debug] Outgoing: Writing CLOSE
[03-09 01:05:03] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-09 01:05:03] [info] local ➞ remotee:\xx.js
有時候是這里沒有反應: