{"id":389,"title":"Teleport ile \"Keyless\" Kurulum","content":"<div id=\"model-response-message-contentr_601fcb0efe6be338\" class=\"markdown markdown-main-panel stronger enable-updated-hr-color\" dir=\"ltr\" aria-live=\"polite\" aria-busy=\"false\"><hr data-path-to-node=\"1\">\n<p data-path-to-node=\"3\">Teleport'u kurmak, karma\u015f\u0131k VPN yap\u0131land\u0131rmalar\u0131ndan &ccedil;ok daha basittir. Bu rehberde, Linux (Ubuntu\/Debian) tabanl\u0131 bir sunucuda en temel&nbsp;<strong data-path-to-node=\"3\" data-index-in-node=\"137\">Teleport Community Edition<\/strong> kurulumunu ve bir SSH nodunu nas\u0131l dahil edece\u011fimizi inceleyece\u011fiz.<\/p>\n<h3 data-path-to-node=\"4\">1. Haz\u0131rl\u0131k ve Kurulum<\/h3>\n<p data-path-to-node=\"5\">Teleport, Go ile yaz\u0131lm\u0131\u015f tek bir binary dosyas\u0131d\u0131r. Paket y&ouml;neticinizi kullanarak h\u0131zl\u0131ca y&uuml;kleyebilirsiniz.<\/p>\n<!----><!----><!----><!----><!----><!----><!----><!---->\n<div class=\"code-block ng-tns-c874916535-38 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahcKEwj6n7_ZpZ-SAxUAAAAAHQAAAAAQdg\">\n<div class=\"code-block-decoration header-formatted gds-title-s ng-tns-c874916535-38 ng-star-inserted\"><span class=\"ng-tns-c874916535-38\">Bash<\/span>\n<div class=\"buttons ng-tns-c874916535-38 ng-star-inserted\"><button class=\"mdc-icon-button mat-mdc-icon-button mat-mdc-button-base mat-mdc-tooltip-trigger copy-button ng-tns-c874916535-38 mat-unthemed _mat-animation-noopable ng-star-inserted\" aria-label=\"Kodu kopyala\"><\/button><!----><!----><\/div>\n<!----><\/div>\n<!---->\n<div class=\"formatted-code-block-internal-container ng-tns-c874916535-38\">\n<div class=\"animated-opacity ng-tns-c874916535-38\">\n<pre class=\"ng-tns-c874916535-38\"><code class=\"code-container formatted ng-tns-c874916535-38\" role=\"text\" data-test-id=\"code-content\"><span class=\"hljs-comment\"># Teleport public key'ini ekleyelim<\/span>\nsudo curl https:\/\/apt.releases.teleport.dev\/gpg \\\n  -o \/usr\/share\/keyrings\/teleport-archive-keyring.asc\n\n<span class=\"hljs-comment\"># Repository'yi listeye ekleyelim<\/span>\n<span class=\"hljs-built_in\">echo<\/span> <span class=\"hljs-string\">\"deb [signed-by=\/usr\/share\/keyrings\/teleport-archive-keyring.asc] https:\/\/apt.releases.teleport.dev\/ubuntu <span class=\"hljs-subst\">$(lsb_release -cs)<\/span> stable main\"<\/span> \\\n  | sudo tee \/etc\/apt\/sources.list.d\/teleport.list\n\nsudo apt update\nsudo apt install teleport\n<\/code><\/pre>\n<!----><\/div>\n<\/div>\n<\/div>\n<!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><hr data-path-to-node=\"7\">\n<h3 data-path-to-node=\"8\">2. Teleport'u Yap\u0131land\u0131rma (Auth &amp; Proxy)<\/h3>\n<p data-path-to-node=\"9\">Teleport'un &ccedil;al\u0131\u015fmas\u0131 i&ccedil;in bir \"Auth Service\" (Kimlik otoritesi) ve \"Proxy Service\" (Giri\u015f kap\u0131s\u0131) gerekir. En basit haliyle bir konfig&uuml;rasyon dosyas\u0131 olu\u015ftural\u0131m:<\/p>\n<p data-path-to-node=\"10\"><code data-path-to-node=\"10\" data-index-in-node=\"0\">sudo teleport configure -o \/etc\/teleport.yaml --cluster-name=teleport.local<\/code><\/p>\n<p data-path-to-node=\"11\">Bu komut, varsay\u0131lan ayarlarla bir yap\u0131land\u0131rma dosyas\u0131 olu\u015fturur. Ard\u0131ndan servisi ba\u015flatal\u0131m:<\/p>\n<!----><!----><!----><!----><!----><!----><!----><!---->\n<div class=\"code-block ng-tns-c874916535-39 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahcKEwj6n7_ZpZ-SAxUAAAAAHQAAAAAQdw\">\n<div class=\"code-block-decoration header-formatted gds-title-s ng-tns-c874916535-39 ng-star-inserted\"><span class=\"ng-tns-c874916535-39\">Bash<\/span>\n<div class=\"buttons ng-tns-c874916535-39 ng-star-inserted\"><button class=\"mdc-icon-button mat-mdc-icon-button mat-mdc-button-base mat-mdc-tooltip-trigger copy-button ng-tns-c874916535-39 mat-unthemed _mat-animation-noopable ng-star-inserted\" aria-label=\"Kodu kopyala\"><\/button><!----><!----><\/div>\n<!----><\/div>\n<!---->\n<div class=\"formatted-code-block-internal-container ng-tns-c874916535-39\">\n<div class=\"animated-opacity ng-tns-c874916535-39\">\n<pre class=\"ng-tns-c874916535-39\"><code class=\"code-container formatted ng-tns-c874916535-39\" role=\"text\" data-test-id=\"code-content\">sudo systemctl start teleport\nsudo systemctl <span class=\"hljs-built_in\">enable<\/span> teleport\n<\/code><\/pre>\n<!----><\/div>\n<\/div>\n<\/div>\n<!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><hr data-path-to-node=\"13\">\n<h3 data-path-to-node=\"14\">3. \u0130lk Kullan\u0131c\u0131y\u0131 Olu\u015fturma ve MFA Kayd\u0131<\/h3>\n<p data-path-to-node=\"15\">Teleport'ta \u015fifre yoktur, ancak ilk giri\u015fi yapabilmek i&ccedil;in bir kullan\u0131c\u0131 davet linki olu\u015ftururuz. G&uuml;venlik gere\u011fi Teleport <strong data-path-to-node=\"15\" data-index-in-node=\"123\">MFA (Multi-Factor Authentication)<\/strong> zorunlu k\u0131lar.<\/p>\n<!----><!----><!----><!----><!----><!----><!----><!---->\n<div class=\"code-block ng-tns-c874916535-40 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahcKEwj6n7_ZpZ-SAxUAAAAAHQAAAAAQeA\">\n<div class=\"code-block-decoration header-formatted gds-title-s ng-tns-c874916535-40 ng-star-inserted\"><span class=\"ng-tns-c874916535-40\">Bash<\/span>\n<div class=\"buttons ng-tns-c874916535-40 ng-star-inserted\"><button class=\"mdc-icon-button mat-mdc-icon-button mat-mdc-button-base mat-mdc-tooltip-trigger copy-button ng-tns-c874916535-40 mat-unthemed _mat-animation-noopable ng-star-inserted\" aria-label=\"Kodu kopyala\"><\/button><!----><!----><\/div>\n<!----><\/div>\n<!---->\n<div class=\"formatted-code-block-internal-container ng-tns-c874916535-40\">\n<div class=\"animated-opacity ng-tns-c874916535-40\">\n<pre class=\"ng-tns-c874916535-40\"><code class=\"code-container formatted ng-tns-c874916535-40\" role=\"text\" data-test-id=\"code-content\"><span class=\"hljs-comment\"># 'admin' ad\u0131nda, yetkili bir kullan\u0131c\u0131 olu\u015ftural\u0131m<\/span>\nsudo tctl users add admin --roles=editor,access --logins=root,ubuntu,ec2-user\n<\/code><\/pre>\n<!----><\/div>\n<\/div>\n<\/div>\n<!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!---->\n<p data-path-to-node=\"17\"><strong data-path-to-node=\"17\" data-index-in-node=\"0\">&Ccedil;\u0131kt\u0131:<\/strong> Size bir URL verecektir (&Ouml;rn: <code data-path-to-node=\"17\" data-index-in-node=\"37\">https:\/\/teleport.example.com:3080\/web\/newuser\/...<\/code>). Bu linke t\u0131klayarak taray\u0131c\u0131 &uuml;zerinden \u015fifrenizi belirleyebilir ve QR kodunu tarat\u0131p MFA (Google Authenticator vb.) kayd\u0131n\u0131z\u0131 yapabilirsiniz.<\/p>\n<hr data-path-to-node=\"18\">\n<h3 data-path-to-node=\"19\">4. Altyap\u0131ya Yeni Bir Sunucu (Node) Eklemek<\/h3>\n<p data-path-to-node=\"20\">\u015eimdi as\u0131l sihir burada ba\u015fl\u0131yor. Ba\u015fka bir sunucuyu bu panele eklemek i&ccedil;in SSH anahtar\u0131 kopyalamak yerine, Teleport'un g&uuml;venli \"Token\" sistemini kullan\u0131yoruz.<\/p>\n<p data-path-to-node=\"21\"><strong data-path-to-node=\"21\" data-index-in-node=\"0\">Ana Sunucuda (Auth Server):<\/strong><\/p>\n<!----><!----><!----><!----><!----><!----><!----><!---->\n<div class=\"code-block ng-tns-c874916535-41 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahcKEwj6n7_ZpZ-SAxUAAAAAHQAAAAAQeQ\">\n<div class=\"code-block-decoration header-formatted gds-title-s ng-tns-c874916535-41 ng-star-inserted\"><span class=\"ng-tns-c874916535-41\">Bash<\/span>\n<div class=\"buttons ng-tns-c874916535-41 ng-star-inserted\"><button class=\"mdc-icon-button mat-mdc-icon-button mat-mdc-button-base mat-mdc-tooltip-trigger copy-button ng-tns-c874916535-41 mat-unthemed _mat-animation-noopable ng-star-inserted\" aria-label=\"Kodu kopyala\"><\/button><!----><!----><\/div>\n<!----><\/div>\n<!---->\n<div class=\"formatted-code-block-internal-container ng-tns-c874916535-41\">\n<div class=\"animated-opacity ng-tns-c874916535-41\">\n<pre class=\"ng-tns-c874916535-41\"><code class=\"code-container formatted ng-tns-c874916535-41\" role=\"text\" data-test-id=\"code-content\">sudo tctl tokens add --<span class=\"hljs-built_in\">type<\/span>=node\n<\/code><\/pre>\n<!----><\/div>\n<\/div>\n<\/div>\n<!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!---->\n<p data-path-to-node=\"23\">Bu komut size k\u0131sa &ouml;m&uuml;rl&uuml; bir <strong data-path-to-node=\"23\" data-index-in-node=\"30\">token<\/strong> ve bir y&uuml;kleme komutu verir.<\/p>\n<p data-path-to-node=\"24\"><strong data-path-to-node=\"24\" data-index-in-node=\"0\">Hedef Sunucuda (Node):<\/strong><\/p>\n<p data-path-to-node=\"24\">Verilen komutu hedef sunucuda &ccedil;al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131zda, o sunucu art\u0131k Teleport paneline dahil olur. Art\u0131k terminalden \u015fu \u015fekilde ba\u011flanabilirsiniz:<\/p>\n<p data-path-to-node=\"24\"><code data-path-to-node=\"24\" data-index-in-node=\"165\">tsh ssh root@target-server<\/code><\/p>\n<hr data-path-to-node=\"25\">\n<h3 data-path-to-node=\"26\">5. Teknik Konfig&uuml;rasyonun P&uuml;f Noktalar\u0131<\/h3>\n<table data-path-to-node=\"27\">\n<thead>\n<tr>\n<td><strong>&Ouml;zellik<\/strong><\/td>\n<td><strong>Neden &Ouml;nemli?<\/strong><\/td>\n<td><strong>Ayar Lokasyonu<\/strong><\/td>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><span data-path-to-node=\"27,1,0,0\"><strong data-path-to-node=\"27,1,0,0\" data-index-in-node=\"0\">Session Recording<\/strong><\/span><\/td>\n<td><span data-path-to-node=\"27,1,1,0\">Yap\u0131lan her hareketin izlenmesi i&ccedil;in.<\/span><\/td>\n<td><span data-path-to-node=\"27,1,2,0\"><code data-path-to-node=\"27,1,2,0\" data-index-in-node=\"0\">teleport.yaml<\/code> -&gt; <code data-path-to-node=\"27,1,2,0\" data-index-in-node=\"17\">session_recording<\/code><\/span><\/td>\n<\/tr>\n<tr>\n<td><span data-path-to-node=\"27,2,0,0\"><strong data-path-to-node=\"27,2,0,0\" data-index-in-node=\"0\">Audit Log<\/strong><\/span><\/td>\n<td><span data-path-to-node=\"27,2,1,0\">Denetimlerde kimin ne yapt\u0131\u011f\u0131n\u0131 kan\u0131tlamak i&ccedil;in.<\/span><\/td>\n<td><span data-path-to-node=\"27,2,2,0\"><code data-path-to-node=\"27,2,2,0\" data-index-in-node=\"0\">\/var\/lib\/teleport\/log<\/code><\/span><\/td>\n<\/tr>\n<tr>\n<td><span data-path-to-node=\"27,3,0,0\"><strong data-path-to-node=\"27,3,0,0\" data-index-in-node=\"0\">RBAC<\/strong><\/span><\/td>\n<td><span data-path-to-node=\"27,3,1,0\">Kullan\u0131c\u0131lar\u0131n sadece kendi departmanlar\u0131na ait sunucular\u0131 g&ouml;rmesi i&ccedil;in.<\/span><\/td>\n<td><span data-path-to-node=\"27,3,2,0\"><code data-path-to-node=\"27,3,2,0\" data-index-in-node=\"0\">tctl create roles.yaml<\/code><\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<hr data-path-to-node=\"28\">\n<h3 data-path-to-node=\"29\">6. \"tsh\" Tool: Terminaldeki G&uuml;c&uuml;n&uuml;z<\/h3>\n<p data-path-to-node=\"30\">Teleport sadece bir web aray&uuml;z&uuml; de\u011fil, terminal severler i&ccedil;in <code data-path-to-node=\"30\" data-index-in-node=\"62\">tsh<\/code> ad\u0131nda harika bir CLI arac\u0131 sunar.<\/p>\n<ul data-path-to-node=\"31\">\n<li>\n<p data-path-to-node=\"31,0,0\"><code data-path-to-node=\"31,0,0\" data-index-in-node=\"0\">tsh login --proxy=teleport.example.com<\/code>: Kimlik do\u011frulamas\u0131 yapar.<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"31,1,0\"><code data-path-to-node=\"31,1,0\" data-index-in-node=\"0\">tsh ls<\/code>: Eri\u015febildi\u011finiz t&uuml;m sunucular\u0131, veri tabanlar\u0131n\u0131 ve K8s cluster'lar\u0131n\u0131 listeler.<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"31,2,0\"><code data-path-to-node=\"31,2,0\" data-index-in-node=\"0\">tsh join &lt;session-id&gt;<\/code>: Bir arkada\u015f\u0131n\u0131z\u0131n terminal oturumuna canl\u0131 olarak kat\u0131l\u0131p beraber kod yazman\u0131z\u0131 (pair programming) sa\u011flar.<\/p>\n<\/li>\n<\/ul>\n<hr data-path-to-node=\"32\">\n<h3 data-path-to-node=\"33\">ne yapt\u0131k?<\/h3>\n<p data-path-to-node=\"34\">Bu kurulumla birlikte art\u0131k altyap\u0131n\u0131zda:<\/p>\n<ol start=\"1\" data-path-to-node=\"35\">\n<li>\n<p data-path-to-node=\"35,0,0\"><strong data-path-to-node=\"35,0,0\" data-index-in-node=\"0\">SSH Key y&ouml;netimi bitti.<\/strong><\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"35,1,0\"><strong data-path-to-node=\"35,1,0\" data-index-in-node=\"0\">Statik \u015fifreler tarih oldu.<\/strong><\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"35,2,0\"><strong data-path-to-node=\"35,2,0\" data-index-in-node=\"0\">Her ba\u011flant\u0131 MFA ile korunuyor.<\/strong><\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"35,3,0\"><strong data-path-to-node=\"35,3,0\" data-index-in-node=\"0\">T&uuml;m i\u015flemler kaydediliyor.<\/strong><\/p>\n<\/li>\n<\/ol>\n<p data-path-to-node=\"36\">g&uuml;venlik...<\/p>\n<div id=\"model-response-message-contentr_a5a8728a109aad7b\" class=\"markdown markdown-main-panel stronger enable-updated-hr-color\" dir=\"ltr\" aria-live=\"polite\" aria-busy=\"false\">\n<p data-path-to-node=\"0\">Teleport&rsquo;un en g&uuml;&ccedil;l&uuml; oldu\u011fu iki alana geldik. Geleneksel y&ouml;ntemlerde PostgreSQL i&ccedil;in kullan\u0131c\u0131 \u015fifreleri, Kubernetes i&ccedil;in ise <code data-path-to-node=\"0\" data-index-in-node=\"126\">.kube\/config<\/code> dosyalar\u0131ndaki statik sertifikalar (kube-token) b&uuml;y&uuml;k birer g&uuml;venlik a&ccedil;\u0131\u011f\u0131d\u0131r.<\/p>\n<p data-path-to-node=\"1\">Teleport ile bu s&uuml;reci <strong data-path-to-node=\"1\" data-index-in-node=\"23\">\"k\u0131sa &ouml;m&uuml;rl&uuml; sertifikalar\"<\/strong> ve <strong data-path-to-node=\"1\" data-index-in-node=\"53\">\"tek bir kimlik (SSO)\"<\/strong> &uuml;zerine kuruyoruz. \u0130\u015fte ad\u0131m ad\u0131m teknik yap\u0131land\u0131rma:<\/p>\n<hr data-path-to-node=\"2\">\n<h3 data-path-to-node=\"3\">1. Senaryo: PostgreSQL Veri Taban\u0131n\u0131 Teleport'a Ba\u011flamak<\/h3>\n<p data-path-to-node=\"4\">Bu yap\u0131land\u0131rmada Teleport, veri taban\u0131 ile kullan\u0131c\u0131 aras\u0131nda bir <strong data-path-to-node=\"4\" data-index-in-node=\"67\">\"Identity-Aware Proxy\"<\/strong> g&ouml;revi g&ouml;r&uuml;r.<\/p>\n<h4 data-path-to-node=\"5\"><strong data-path-to-node=\"5\" data-index-in-node=\"0\">A. Ad\u0131m: Veri Taban\u0131 Servisini Ba\u015flatma<\/strong><\/h4>\n<p data-path-to-node=\"6\">Teleport y&uuml;kl&uuml; olan sunucuda (veya veri taban\u0131na eri\u015fimi olan bir node &uuml;zerinde) <code data-path-to-node=\"6\" data-index-in-node=\"81\">teleport.yaml<\/code> dosyas\u0131n\u0131 \u015fu \u015fekilde g&uuml;ncelliyoruz:<\/p>\n<!----><!----><!----><!----><!----><!----><!----><!---->\n<div class=\"code-block ng-tns-c874916535-55 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahgKEwj6n7_ZpZ-SAxUAAAAAHQAAAAAQmAE\">\n<div class=\"code-block-decoration header-formatted gds-title-s ng-tns-c874916535-55 ng-star-inserted\"><span class=\"ng-tns-c874916535-55\">YAML<\/span>\n<div class=\"buttons ng-tns-c874916535-55 ng-star-inserted\"><button class=\"mdc-icon-button mat-mdc-icon-button mat-mdc-button-base mat-mdc-tooltip-trigger copy-button ng-tns-c874916535-55 mat-unthemed _mat-animation-noopable ng-star-inserted\" aria-label=\"Kodu kopyala\"><\/button><!----><!----><\/div>\n<!----><\/div>\n<!---->\n<div class=\"formatted-code-block-internal-container ng-tns-c874916535-55\">\n<div class=\"animated-opacity ng-tns-c874916535-55\">\n<pre class=\"ng-tns-c874916535-55\"><code class=\"code-container formatted ng-tns-c874916535-55\" role=\"text\" data-test-id=\"code-content\"><span class=\"hljs-attr\">db_service:<\/span>\n  <span class=\"hljs-attr\">enabled:<\/span> <span class=\"hljs-string\">\"yes\"<\/span>\n  <span class=\"hljs-attr\">databases:<\/span>\n    <span class=\"hljs-bullet\">-<\/span> <span class=\"hljs-attr\">name:<\/span> <span class=\"hljs-string\">\"finans-prod\"<\/span>\n      <span class=\"hljs-attr\">description:<\/span> <span class=\"hljs-string\">\"&Uuml;retim Ortam\u0131 PostgreSQL Veri Taban\u0131\"<\/span>\n      <span class=\"hljs-attr\">protocol:<\/span> <span class=\"hljs-string\">\"postgres\"<\/span>\n      <span class=\"hljs-attr\">uri:<\/span> <span class=\"hljs-string\">\"localhost:5432\"<\/span> <span class=\"hljs-comment\"># DB'nin adresi<\/span>\n      <span class=\"hljs-attr\">labels:<\/span>\n        <span class=\"hljs-attr\">env:<\/span> <span class=\"hljs-string\">\"prod\"<\/span>\n        <span class=\"hljs-attr\">dept:<\/span> <span class=\"hljs-string\">\"finance\"<\/span>\n<\/code><\/pre>\n<!----><\/div>\n<\/div>\n<\/div>\n<!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!---->\n<h4 data-path-to-node=\"8\"><strong data-path-to-node=\"8\" data-index-in-node=\"0\">B. Ad\u0131m: Eri\u015fim Sa\u011flama<\/strong><\/h4>\n<p data-path-to-node=\"9\">Terminalinizden (tsh y&uuml;kl&uuml; makineden) \u015fu komutlarla ba\u011flanabilirsiniz:<\/p>\n<ol start=\"1\" data-path-to-node=\"10\">\n<li>\n<p data-path-to-node=\"10,0,0\"><strong data-path-to-node=\"10,0,0\" data-index-in-node=\"0\">Giri\u015f yap:<\/strong> <code data-path-to-node=\"10,0,0\" data-index-in-node=\"11\">tsh login --proxy=teleport.example.com<\/code><\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"10,1,0\"><strong data-path-to-node=\"10,1,0\" data-index-in-node=\"0\">DB'leri listele:<\/strong> <code data-path-to-node=\"10,1,0\" data-index-in-node=\"17\">tsh db ls<\/code><\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"10,2,0\"><strong data-path-to-node=\"10,2,0\" data-index-in-node=\"0\">DB'ye ba\u011flan:<\/strong> <code data-path-to-node=\"10,2,0\" data-index-in-node=\"14\">tsh db login finans-prod<\/code><\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"10,3,0\"><strong data-path-to-node=\"10,3,0\" data-index-in-node=\"0\">Sorgu &ccedil;al\u0131\u015ft\u0131r:<\/strong> <code data-path-to-node=\"10,3,0\" data-index-in-node=\"16\">tsh db connect finans-prod<\/code> (Bu komut otomatik olarak <code data-path-to-node=\"10,3,0\" data-index-in-node=\"69\">psql<\/code> arac\u0131n\u0131 a&ccedil;ar ve sertifikalar\u0131 arkada y&ouml;netir.)<\/p>\n<\/li>\n<\/ol>\n<hr data-path-to-node=\"11\">\n<h3 data-path-to-node=\"12\">2. Senaryo: Kubernetes Cluster'\u0131 Teleport'a Eklemek<\/h3>\n<p data-path-to-node=\"13\">Teleport, <code data-path-to-node=\"13\" data-index-in-node=\"10\">kubectl<\/code> komutlar\u0131n\u0131 Proxy &uuml;zerinden t&uuml;neller ve kimlik do\u011frulamas\u0131 yapmayan kullan\u0131c\u0131lar\u0131n cluster'a eri\u015fimini engeller.<\/p>\n<h4 data-path-to-node=\"14\"><strong data-path-to-node=\"14\" data-index-in-node=\"0\">A. Ad\u0131m: Teleport Agent Kurulumu (Helm ile)<\/strong><\/h4>\n<p data-path-to-node=\"15\">Kubernetes cluster'\u0131n\u0131z\u0131n i&ccedil;ine Teleport agent'\u0131n\u0131 kurmak en temiz y&ouml;ntemdir:<\/p>\n<!----><!----><!----><!----><!----><!----><!----><!---->\n<div class=\"code-block ng-tns-c874916535-56 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahgKEwj6n7_ZpZ-SAxUAAAAAHQAAAAAQmQE\">\n<div class=\"code-block-decoration header-formatted gds-title-s ng-tns-c874916535-56 ng-star-inserted\"><span class=\"ng-tns-c874916535-56\">Bash<\/span>\n<div class=\"buttons ng-tns-c874916535-56 ng-star-inserted\"><button class=\"mdc-icon-button mat-mdc-icon-button mat-mdc-button-base mat-mdc-tooltip-trigger copy-button ng-tns-c874916535-56 mat-unthemed _mat-animation-noopable ng-star-inserted\" aria-label=\"Kodu kopyala\"><\/button><!----><!----><\/div>\n<!----><\/div>\n<!---->\n<div class=\"formatted-code-block-internal-container ng-tns-c874916535-56\">\n<div class=\"animated-opacity ng-tns-c874916535-56\">\n<pre class=\"ng-tns-c874916535-56\"><code class=\"code-container formatted ng-tns-c874916535-56\" role=\"text\" data-test-id=\"code-content\">helm install teleport-agent teleport\/teleport-kube-agent \\\n  --<span class=\"hljs-built_in\">set<\/span> roles=kube \\\n  --<span class=\"hljs-built_in\">set<\/span> proxyAddr=teleport.example.com:443 \\\n  --<span class=\"hljs-built_in\">set<\/span> authToken=YOUR_JOIN_TOKEN \\\n  --<span class=\"hljs-built_in\">set<\/span> kubeClusterName=k8s-prod\n<\/code><\/pre>\n<!----><\/div>\n<\/div>\n<\/div>\n<!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!---->\n<h4 data-path-to-node=\"17\"><strong data-path-to-node=\"17\" data-index-in-node=\"0\">B. Ad\u0131m: G&uuml;venli Eri\u015fim<\/strong><\/h4>\n<p data-path-to-node=\"18\">Agent ba\u011fland\u0131ktan sonra, art\u0131k hi&ccedil;bir kubeconfig dosyas\u0131na ihtiyac\u0131n\u0131z kalmaz:<\/p>\n<ol start=\"1\" data-path-to-node=\"19\">\n<li>\n<p data-path-to-node=\"19,0,0\"><strong data-path-to-node=\"19,0,0\" data-index-in-node=\"0\">Cluster listesini g&ouml;r:<\/strong> <code data-path-to-node=\"19,0,0\" data-index-in-node=\"23\">tsh kube ls<\/code><\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"19,1,0\"><strong data-path-to-node=\"19,1,0\" data-index-in-node=\"0\">Cluster'a giri\u015f yap:<\/strong> <code data-path-to-node=\"19,1,0\" data-index-in-node=\"21\">tsh kube login k8s-prod<\/code><\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"19,2,0\"><strong data-path-to-node=\"19,2,0\" data-index-in-node=\"0\">Standart komutlar\u0131 kullan:<\/strong> <code data-path-to-node=\"19,2,0\" data-index-in-node=\"27\">kubectl get pods<\/code><\/p>\n<\/li>\n<\/ol>\n<hr data-path-to-node=\"20\">\n<h3 data-path-to-node=\"21\">\ud83d\udd10 Neden Bu Y&ouml;ntemi Se&ccedil;melisiniz? (Teknik Avantajlar)<\/h3>\n<table data-path-to-node=\"22\">\n<thead>\n<tr>\n<td><strong>&Ouml;zellik<\/strong><\/td>\n<td><strong>PostgreSQL Uygulamas\u0131<\/strong><\/td>\n<td><strong>Kubernetes Uygulamas\u0131<\/strong><\/td>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><span data-path-to-node=\"22,1,0,0\"><strong data-path-to-node=\"22,1,0,0\" data-index-in-node=\"0\">Kimlik Denetimi<\/strong><\/span><\/td>\n<td><span data-path-to-node=\"22,1,1,0\">DB kullan\u0131c\u0131s\u0131 de\u011fil, ger&ccedil;ek ki\u015fi loglan\u0131r.<\/span><\/td>\n<td><span data-path-to-node=\"22,1,2,0\">K8s User\/Group yetkileri Teleport rollerine ba\u011flan\u0131r.<\/span><\/td>\n<\/tr>\n<tr>\n<td><span data-path-to-node=\"22,2,0,0\"><strong data-path-to-node=\"22,2,0,0\" data-index-in-node=\"0\">\u015eifre Y&ouml;netimi<\/strong><\/span><\/td>\n<td><span data-path-to-node=\"22,2,1,0\"><code data-path-to-node=\"22,2,1,0\" data-index-in-node=\"0\">pg_hba.conf<\/code> i&ccedil;inde sadece Teleport'un CA's\u0131 yetkilendirilir.<\/span><\/td>\n<td><span data-path-to-node=\"22,2,2,0\">Statik tokenlar yerine k\u0131sa &ouml;m&uuml;rl&uuml; cert-auth kullan\u0131l\u0131r.<\/span><\/td>\n<\/tr>\n<tr>\n<td><span data-path-to-node=\"22,3,0,0\"><strong data-path-to-node=\"22,3,0,0\" data-index-in-node=\"0\">Denetim (Audit)<\/strong><\/span><\/td>\n<td><span data-path-to-node=\"22,3,1,0\">&Ccedil;al\u0131\u015ft\u0131r\u0131lan her SQL sorgusu loglan\u0131r.<\/span><\/td>\n<td><span data-path-to-node=\"22,3,2,0\">Her <code data-path-to-node=\"22,3,2,0\" data-index-in-node=\"4\">exec<\/code> oturumu ve API &ccedil;a\u011fr\u0131s\u0131 kaydedilir.<\/span><\/td>\n<\/tr>\n<tr>\n<td><span data-path-to-node=\"22,4,0,0\"><strong data-path-to-node=\"22,4,0,0\" data-index-in-node=\"0\">Eri\u015fim K\u0131s\u0131t\u0131<\/strong><\/span><\/td>\n<td><span data-path-to-node=\"22,4,1,0\">Sadece mesai saatlerinde eri\u015fim gibi k\u0131s\u0131tlar eklenebilir.<\/span><\/td>\n<td><span data-path-to-node=\"22,4,2,0\">Sadece belirli namespace'lere eri\u015fim yetkisi (RBAC) verilir.<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<hr data-path-to-node=\"23\">\n<p data-path-to-node=\"25\">&nbsp;<\/p>\n<p data-path-to-node=\"26\">&nbsp;<\/p>\n<p data-path-to-node=\"26\">&nbsp;<\/p>\n<\/div>\n<\/div>","excerpt":"","created_at":"2026-01-22 17:39:06","updated_at":"2026-09-23 14:33:38","category_id":6,"view_count":531,"reading_time":6,"status":"published","editor_choice":0,"is_editor_choice":0,"published_at":"2026-01-22 14:39:06","featured_image":"\/uploads\/images\/2026\/01\/6972367922c2e_1769092729.png","slug":"teleport-ile-keyless-kurulum","category_name":"Sistem","category_slug":"sistem"}