Follow along with the video below to see how to install our site as a web app on your home screen.
Not: This feature may not be available in some browsers.
ssh -L 3307:127.0.0.1:3306 [email protected] -p 22
mysql -u DBKullanici -p -h 127.0.0.1 -P 3307
21/tcp open ftp.env dosaysının içinde neler var ve başka hangi portlar açık
ssh -L 3307:127.0.0.1:3306 [email protected] -p 22
mysql -u DBKullanici -p -h 127.0.0.1 -P 3307
# Sunucuda çalıştırılır (ör: sunucudan sizin makinenize)
ssh -N -R 13306:127.0.0.1:3306 kullanici@your-public-ip -p 22
mysql -u DBKullanici -p -h 127.0.0.1 -P 13306
bind-address = 0.0.0.0
sudo ufw allow from YOUR_IP to any port 3306 proto tcp
sudo systemctl restart mysql
sudo apt-get install socat
sudo socat TCP-LISTEN:3306,fork TCP:127.0.0.1:3306
ngrok tcp 3306
ilginiz için teşekkür ederim.1) SSH Local Port Forwarding
Koşul: SSH erişiminiz var (shell) ve SSH portu (genelde 22) açık.
Server tarafındaki mysqld muhtemelen 127.0.0.1:3306 üzerinde dinliyordur. Lokal makinenizden şöyle tünel kurarsınız:
NGINX:ssh -L 3307:127.0.0.1:3306 [email protected] -p 22
- Bu komut: lokalinizde localhost:3307 açar ve trafiği sunucudaki 127.0.0.1:3306'ya yönlendirir.
- Ardından yerelden bağlanırsınız:
Windows için PuTTY kullanıyorsanız “Connection > SSH > Tunnels” kısmında Source: 3307, Destination: 127.0.0.1:3306 seçip “Add” yapın.CSS:mysql -u DBKullanici -p -h 127.0.0.1 -P 3307
2) Eğer doğrudan SSH (22) kapalıysa ama sunucudan dışarı bağlantı yapılabiliyorsa: Reverse SSH Tunnel
Koşul: Sunucuda komut çalıştırma hakkınız (shell) var ve sunucu sizin makinaya SSH ile çıkış yapabiliyor.
Sunucuda (veya bir cron/script ile) çalıştırılır:
NGINX:# Sunucuda çalıştırılır (ör: sunucudan sizin makinenize) ssh -N -R 13306:127.0.0.1:3306 kullanici@your-public-ip -p 22
Sonra sizin lokalinizde:
CSS:mysql -u DBKullanici -p -h 127.0.0.1 -P 13306
(Not: your-public-ip'de SSH açığı olması ve güvenlik duvarı izinleri gerekir.)
3) SSH yoksa: Firewall / MySQL bind-address ayarı (sunucu tarafında değişiklik yapılacaksa)
Koşul: Sunucuya root/sudo erişiminiz var (ör. VPS).
- MySQL’in dışa açılmasını sağlamak:
- /etc/mysql/my.cnf ya da /etc/mysql/mysql.conf.d/mysqld.cnf içinde bind-address = 127.0.0.1 satırını bulun ve gerekiyorsa 0.0.0.0 yapın:
INI:bind-address = 0.0.0.0
- Firewall’dan sadece belirli IP’lere izin verin:
- UFW örneği:
Kod:sudo ufw allow from YOUR_IP to any port 3306 proto tcp
- veya iptables ile kural ekleyin.
- MySQL’i yeniden başlatın:
Kod:sudo systemctl restart mysql
Güvenlik: sadece belirli IP adreslerinin erişimine izin verin; açık bırakmak risklidir.
4) Geçici/Prototip çözüm: socat veya ngrok
- socat ile portu başka bir interface’e açabilirsiniz (sunucuda root gerekebilir):
Kod:sudo apt-get install socat sudo socat TCP-LISTEN:3306,fork TCP:127.0.0.1:3306
Bu, 0.0.0.0:3306 üzerinde dinletir.
- ngrok ile geçici olarak güvenli tünel açabilirsiniz:
YAML:ngrok tcp 3306
ngrok size tcp://0.tcp.ngrok.io:XXXXX biçiminde bir adres verir; bunu yerel mysql client ile kullanabilirsiniz.
5) Eğer veritabanı bir cloud hizmetindeyse (RDS, Cloud SQL vb.)
Cloud sağlayıcının “security group” / “VPC firewall” ayarlarından gelen IP’yi izin verin.
RDS ise security group içinde inbound 3306 izni verin yalnızca sizin IP’ye.
6) Web tabanlı alternatifler (eğer SSH yok ama web sunucuya erişim var)
Sunucuda phpMyAdmin/Adminer kurup HTTPS üzerinden erişebilirsiniz.