[{"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","category_color":"#3b82f6"},{"id":388,"title":"Elveda Statik Anahtarlar, Merhaba Kimlik Merkezli G\u00fcvenlik: Teleport","content":"<div id=\"model-response-message-contentr_636fce51b6e7c0b6\" class=\"markdown markdown-main-panel stronger enable-updated-hr-color\" dir=\"ltr\" aria-live=\"polite\" aria-busy=\"false\">\n<p data-path-to-node=\"4\">Bili\u015fim d&uuml;nyas\u0131nda g&uuml;venli\u011fi sa\u011flamak denilince akla gelen ilk \u015fey genelde \"Duvarlar\u0131 y&uuml;kseltmek\" olur. VPN'ler kurar\u0131z, IP k\u0131s\u0131tlamalar\u0131 yapar\u0131z, karma\u015f\u0131k \u015fifrelerle bo\u011fu\u015furuz. Ancak d&uuml;nk&uuml;&nbsp;<strong data-path-to-node=\"4\" data-index-in-node=\"190\">JumpServer<\/strong> incelememizde de g&ouml;rd&uuml;\u011f&uuml;m&uuml;z gibi, art\u0131k d&uuml;nya bu statik y&ouml;ntemlerden uzakla\u015f\u0131yor. Bug&uuml;n, bu d&ouml;n&uuml;\u015f&uuml;m&uuml;n en g&uuml;&ccedil;l&uuml; oyuncular\u0131ndan birini, <strong data-path-to-node=\"4\" data-index-in-node=\"335\">Teleport<\/strong>&rsquo;u masaya yat\u0131r\u0131yoruz.<\/p>\n<h3 data-path-to-node=\"5\">\"Eri\u015fim\" Kavram\u0131 De\u011fi\u015fiyor<\/h3>\n<p data-path-to-node=\"6\">Eskiden \"eri\u015fim y&ouml;netimi\" denilince sadece sistem y&ouml;neticilerinin sunucuya ba\u011flanmas\u0131 anla\u015f\u0131l\u0131rd\u0131. Bug&uuml;n ise kar\u015f\u0131m\u0131zda sadece insanlar yok; Kubernetes pod&rsquo;lar\u0131, mikro servisler, veri tabanlar\u0131 ve hatta yapay zeka ajanlar\u0131 (AI Agents) var.<\/p>\n<p data-path-to-node=\"7\"><strong data-path-to-node=\"7\" data-index-in-node=\"0\">Teleport<\/strong>, g&uuml;venli\u011fi network katman\u0131ndan al\u0131p olmas\u0131 gereken yere, yani <strong data-path-to-node=\"7\" data-index-in-node=\"71\">Kimlik (Identity)<\/strong> katman\u0131na ta\u015f\u0131yor.<\/p>\n<hr data-path-to-node=\"8\">\n<h3 data-path-to-node=\"9\">Neden Teleport? (Ve Neden \u015eimdi?)<\/h3>\n<p data-path-to-node=\"10\">Teleport&rsquo;u modern altyap\u0131lar\u0131n vazge&ccedil;ilmezi yapan temel felsefe: <strong data-path-to-node=\"10\" data-index-in-node=\"65\">\"VPN&rsquo;siz, Anahtars\u0131z ve Sertifika Tabanl\u0131 Eri\u015fim\"<\/strong>. Peki bu pratikte ne anlama geliyor?<\/p>\n<ul data-path-to-node=\"11\">\n<li>\n<p data-path-to-node=\"11,0,0\"><strong data-path-to-node=\"11,0,0\" data-index-in-node=\"0\">\u015eifre ve Statik Key'lere Veda:<\/strong> SSH anahtarlar\u0131n\u0131 &ccedil;al\u0131nma riskiyle saklamay\u0131 veya her ay \u015fifre de\u011fi\u015ftirmeyi unutun. Teleport, her oturum i&ccedil;in <strong data-path-to-node=\"11,0,0\" data-index-in-node=\"141\">k\u0131sa &ouml;m&uuml;rl&uuml; sertifikalar<\/strong> &uuml;retir. Oturum biter, sertifika &ouml;l&uuml;r.<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"11,1,0\"><strong data-path-to-node=\"11,1,0\" data-index-in-node=\"0\">Her Yerden Tek Giri\u015f (SSO):<\/strong> Kubernetes'e mi ba\u011flanacaks\u0131n\u0131z? Yoksa &uuml;retim ortam\u0131ndaki bir PostgreSQL'e mi? Tek bir komutla (<code data-path-to-node=\"11,1,0\" data-index-in-node=\"124\">tsh login<\/code>) t&uuml;m altyap\u0131ya kimli\u011finizle dahil olursunuz.<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"11,2,0\"><strong data-path-to-node=\"11,2,0\" data-index-in-node=\"0\">G&ouml;r&uuml;nmez Bir Kale:<\/strong> Teleport, NAT veya firewall arkas\u0131ndaki kaynaklara \u015feffaf t&uuml;neller a&ccedil;ar. D\u0131\u015f d&uuml;nyaya a&ccedil;\u0131k bir port b\u0131rakmadan, g&uuml;venli bir t&uuml;nel &uuml;zerinden &ccedil;al\u0131\u015f\u0131rs\u0131n\u0131z.<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"11,3,0\"><strong data-path-to-node=\"11,3,0\" data-index-in-node=\"0\">Dijital Bir Karatutu:<\/strong> Kim, ne zaman, hangi komutu &ccedil;al\u0131\u015ft\u0131rd\u0131? Sadece log tutmakla kalmaz; RDP veya SSH oturumlar\u0131n\u0131 video gibi kaydedip sonradan izlemenize olanak tan\u0131r.<\/p>\n<\/li>\n<\/ul>\n<hr data-path-to-node=\"12\">\n<h3 data-path-to-node=\"13\">JumpServer vs. Teleport: Hangisi Sizin \u0130&ccedil;in?<\/h3>\n<p data-path-to-node=\"14\">D&uuml;n konu\u015ftu\u011fumuz JumpServer, klasik PAM (Ayr\u0131cal\u0131kl\u0131 Hesap Y&ouml;netimi) ihtiya&ccedil;lar\u0131 i&ccedil;in bir \u0130svi&ccedil;re &ccedil;ak\u0131s\u0131 gibidir. Teleport ise rotay\u0131 <strong data-path-to-node=\"14\" data-index-in-node=\"134\">Zero Trust<\/strong> ve <strong data-path-to-node=\"14\" data-index-in-node=\"148\">Cloud-Native<\/strong> d&uuml;nyas\u0131na k\u0131rar.<\/p>\n<table data-path-to-node=\"15\">\n<thead>\n<tr>\n<td><strong>&Ouml;zellik<\/strong><\/td>\n<td><strong>JumpServer<\/strong><\/td>\n<td><strong>Teleport<\/strong><\/td>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><span data-path-to-node=\"15,1,0,0\"><strong data-path-to-node=\"15,1,0,0\" data-index-in-node=\"0\">Odak Noktas\u0131<\/strong><\/span><\/td>\n<td><span data-path-to-node=\"15,1,1,0\">Klasik PAM &amp; Varl\u0131k Y&ouml;netimi<\/span><\/td>\n<td><span data-path-to-node=\"15,1,2,0\">Zero-Trust &amp; Altyap\u0131 Eri\u015fimi<\/span><\/td>\n<\/tr>\n<tr>\n<td><span data-path-to-node=\"15,2,0,0\"><strong data-path-to-node=\"15,2,0,0\" data-index-in-node=\"0\">G&uuml;venlik Modeli<\/strong><\/span><\/td>\n<td><span data-path-to-node=\"15,2,1,0\">Statik \u015eifre\/Key Y&ouml;netimi<\/span><\/td>\n<td><span data-path-to-node=\"15,2,2,0\">K\u0131sa &Ouml;m&uuml;rl&uuml; Sertifikalar<\/span><\/td>\n<\/tr>\n<tr>\n<td><span data-path-to-node=\"15,3,0,0\"><strong data-path-to-node=\"15,3,0,0\" data-index-in-node=\"0\">Kubernetes Deste\u011fi<\/strong><\/span><\/td>\n<td><span data-path-to-node=\"15,3,1,0\">K\u0131s\u0131tl\u0131<\/span><\/td>\n<td><span data-path-to-node=\"15,3,2,0\">Native &amp; &Ccedil;ok G&uuml;&ccedil;l&uuml;<\/span><\/td>\n<\/tr>\n<tr>\n<td><span data-path-to-node=\"15,4,0,0\"><strong data-path-to-node=\"15,4,0,0\" data-index-in-node=\"0\">AI Ajan Eri\u015fimi<\/strong><\/span><\/td>\n<td><span data-path-to-node=\"15,4,1,0\">Yok<\/span><\/td>\n<td><span data-path-to-node=\"15,4,2,0\">Var (MCP Deste\u011fi)<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<hr data-path-to-node=\"16\">\n<h3 data-path-to-node=\"17\">Bir Ba\u015far\u0131 Hikayesi: Fintech Senaryosu<\/h3>\n<p data-path-to-node=\"18\">Hayal edin; hem AWS'de hem de kendi veri merkezinizde (On-prem) &ccedil;al\u0131\u015fan devasa bir yap\u0131n\u0131z var. Yaz\u0131l\u0131mc\u0131lar\u0131n\u0131z\u0131n veri taban\u0131na, DevOps ekibinizin Kubernetes'e eri\u015fmesi gerekiyor.<\/p>\n<p data-path-to-node=\"19\"><strong data-path-to-node=\"19\" data-index-in-node=\"0\">Eski Y&ouml;ntem:<\/strong> VPN kur, herkese SSH key da\u011f\u0131t, keyleri y&ouml;netemeyince g&uuml;venli\u011fi kaybet.<\/p>\n<p data-path-to-node=\"19\"><strong data-path-to-node=\"19\" data-index-in-node=\"85\">Teleport Y&ouml;ntemi:<\/strong> Ekip Okta veya Entra ID ile giri\u015f yapar. Sadece yetkisi olan kaynaklar\u0131 g&ouml;r&uuml;r. Hassas bir i\u015flem mi yap\u0131lacak? Anl\u0131k (Just-in-Time) onay mekanizmas\u0131yla y&ouml;neticiye bildirim gider. Onay verildi\u011fi an eri\u015fim a&ccedil;\u0131l\u0131r ve yap\u0131lan her i\u015flem kay\u0131t alt\u0131na al\u0131n\u0131r.<\/p>\n<h3 data-path-to-node=\"20\">Gelecek \"Anahtars\u0131z\"<\/h3>\n<p data-path-to-node=\"21\">Teleport, sadece bir \"proxy\" de\u011fil; modern altyap\u0131lar\u0131n merkezi sinir sistemi gibidir. Go diliyle yaz\u0131lm\u0131\u015f olmas\u0131 ve tek bir binary ile &ccedil;al\u0131\u015fmas\u0131, onu y&ouml;netmeyi de inan\u0131lmaz kolayla\u015ft\u0131r\u0131yor. E\u011fer altyap\u0131n\u0131zda \"g&uuml;venlik\" ve \"h\u0131z\" aras\u0131nda bir se&ccedil;im yapmak zorunda kalmak istemiyorsan\u0131z, Teleport tam arad\u0131\u011f\u0131n\u0131z &ccedil;&ouml;z&uuml;m olabilir.<\/p>\n<p data-path-to-node=\"22\">\ud83d\udd17 Merakl\u0131s\u0131 i&ccedil;in GitHub deposuna buradan g&ouml;z atabilirsiniz: <!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><a class=\"ng-star-inserted\" href=\"https:\/\/lnkd.in\/dp_whekX\" target=\"_blank\" rel=\"noopener\" data-hveid=\"0\" data-ved=\"0CAAQ_4QMahcKEwj6n7_ZpZ-SAxUAAAAAHQAAAAAQVw\">Teleport GitHub&nbsp;<\/a><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><\/p>\n<p data-path-to-node=\"22\">haydi <a href=\"..\/..\/..\/teleport-ile-keyless-kurulum\">kurulum<\/a> yapal\u0131m...<\/p>\n<p data-path-to-node=\"22\">&nbsp;<\/p>\n<\/div>","excerpt":"Teleport, sadece bir \"proxy\" de\u011fil; modern altyap\u0131lar\u0131n merkezi sinir sistemi gibidir. Go diliyle yaz\u0131lm\u0131\u015f olmas\u0131 ve tek bir binary ile \u00e7al\u0131\u015fmas\u0131, onu y\u00f6netmeyi de inan\u0131lmaz kolayla\u015ft\u0131r\u0131yor. E\u011fer altyap\u0131n\u0131zda \"g\u00fcvenlik\" ve \"h\u0131z\" aras\u0131nda bir se\u00e7im yapmak zorunda kalmak istemiyorsan\u0131z, Teleport tam arad\u0131\u011f\u0131n\u0131z \u00e7\u00f6z\u00fcm olabilir.","created_at":"2026-01-22 17:36:51","updated_at":"2026-09-23 13:13:24","category_id":6,"view_count":517,"reading_time":4,"status":"published","editor_choice":0,"is_editor_choice":0,"published_at":"2026-01-22 14:36:51","featured_image":"\/uploads\/images\/2026\/01\/697235f646101_1769092598.png","slug":"elveda-statik-anahtarlar-merhaba-kimlik-merkezli-guvenlik-teleport","category_name":"Sistem","category_slug":"sistem","category_color":"#3b82f6"}]